A **Parallel** **turbo** **encoder**-**decoder** **scheme**Spyridon K. Chronopoulos, Giorgos Tatsis, Vasilis Raptis, Panos KostarakisPhysics Department,University of IoanninaIoannina, Greeceschrono@cc.uoi.gr, {gtatsis, vraptis}@grads.uoi.gr, kostarakis@uoi.grAbstract — The field of forward error correction was greatlyinfluenced by the discovery of **turbo** codes. This invention led to agreat improvement in terms of Bit-Error-Rate (BER). Various**scheme**s have been proposed and are based either on parallel orserial designs of concatenated **decoder**s. These **decoder**s areiterative using SOVA (soft output viterbi) or MAP (maximum aposteriori) algorithms. They introduce superior recoveryfunctions of data which have been transmitted through noisyenvironments. Actually, these **turbo** **scheme**s compared toconvolutional codes achieve better data recovery with theincrease of the constraint length. Considering all previousprinciples, we designed a new parallel **turbo** **encoder**-**decoder**system. This system was compared to already existing serial andparallel **turbo** coding **scheme**s and to a convolutional **encoder**.Performance level was verified through simulations includingAdditive White Guassian noise. BER analysis exhibited betterresults compared to all other designs for various numbers ofiterations.Keywords - Turbo codes, Convolutional codes, SerialConcatenated Convolutional Codes, **Parallel** ConcatenatedConvolutional Codes, Random interleavers, A PosterioriProbability **decoder**, Iterative decoding, Puncturing, Scaling factor,Noise varianceI. INTRODUCTIONTheoretical bounds of Shannon’s capacity can be reached interms of performance for the case of Turbo codes. Iterativeprocedure, as a part of a Turbo **decoder** system, offers excellentdetection of information streams. These streams are transmittedthrough Gaussian channels. Consequently, the invention ofTurbo codes is considered to be a major breakthrough [1].Their applications are numerous and include OFDM [2],MIMO [3,4], UWB [5,6], Wireless Lan [7], 3rd GenerationPartnership Project (3GPP), 3G mobile telephony standardsand others. Also, Turbo codes have been adopted by EuropeanSpace Agency and NASA missions such as SMART-1 andMars Reconnaissance Orbiter respectively [8].Turbo codes can be categorized into two **scheme**s. These**scheme**s are SCCC (Serially concatenated convolutional codes)and PCCC (**Parallel** concatenated convolutional codes). Theprevious topologies can be easily discriminated by the strategyof the block connections. These connections refer to the joiningof convolutional **encoder**s in a serial or in a parallel manner. Ineach case various interleavers must be present. For the**decoder**s’ section the designs are more complicated and theywill be mentioned later.The idea of iterative function is coming from the operationof a car’s **turbo** charger. The fuel is enhanced through afeedback connection and the car’s performance increases. Inaccordance to the previous idea, a Turbo **decoder** uses feedbackloop in order to reevaluate data and finally to produce a betterestimation [9]. This estimation of received data is superiorcompared to other systems which are utilizing Viterbi**decoder**s. The iterative function can be constituted of APP (APosteriori Probability) **decoder**s with two inputs and twooutputs. These **decoder**s provide a very efficient estimation ofthe value of the incoming information but they cannot concludeto a decision which bits are 1’s or 0’s. This decision is taken bythe Hard Decision section. Also, two of the previous **decoder**scan constitute a typical iterative decoding system. This systemcan be considered as a block with two inputs and two outputs.The two inputs correspond to the incoming streams from theiterative connection and from the primary receiving route. Thetwo outputs produce the data for reevaluation (for feedbackloop) and the speculated sequences (for Hard Decision).A similar idea to the previous strategy of encoding anddecoding has been adopted in order to design a new PCCCsystem. This system is presented in section II. The maindifferences to standard architectures include threeconvolutional **encoder**s in the **encoder**’s section, along with theappropriate number of interleavers. In the **decoder**’s section,the incoming data stream is demultiplexed and then eachproduced data stream is fed to the appropriate APP **decoder**s.These **decoder**s are three instead of two but they still form aniterative function for estimating the received data. Moreover, inthis estimation is taken into consideration the use of anadditional parameter which is a scaling factor [10].This paper has four sections. The second section isdedicated to the discussion of the various Turbo designs whichwere simulated and compared. These simulations and theirresults are shown in the third section. In the fourth sectionconclusions are presented involving this research along withvery promising future scopes.II. PARALLEL AND SERIAL TURBO SCHEMESSystems which are needed to have a robust enduranceagainst noise must definitely utilize Turbo codes andconsequently iterative techniques in the **decoder**s’ parts. Theseparts will be discussed in this section but firstly the **encoder**smust be presented. These **encoder**s form two types ofconcatenated codes which the two of them use parallel

combinations of convolutional codes while the other one usesserial formation. Also, all the designs contain interleavers.These interleavers have the ability of decorrelating datastreams especially when their serial or parallel concatenationmust be conducted. Interleavers which exhibit excellentperformance are Random Interleavers [11].Two convolutional **encoder**s which are connected in serial,with a presence of a random interleaver between them,constitute an SCCC **encoder** in Fig. 1. The convolutional codesare adjusted to two types of rates (outer - 1/2 and inner - 2/3).The outer has a constraint length of three and the inner aconstraint length of six. The previous constraint lengths resultin an overall length of seven with one input and six registers,while the total rate equals to 1/3. The SCCC **decoder** in Fig. 2contains two APP **decoder**s named as inner and outer. Theinner is the first **encoder** which accepts the primary receiveddata and the data coming from the feedback loop. Then, theinner is connected with a random deinterleaver and in turn thisdeinterleaver connects to the outer **encoder**. In turn, thisproduces two output signals. One data stream will pass throughthe feedback connection and the other one is the input of theHard Decision block.PCCC systems are usually constituted of two convolutional**encoder**s connected in parallel mode [12]. In this section a newPCCC **scheme** will be presented which contains three **encoder**s[13]. A binary generator produces the random signal whichpasses through a convolutional **encoder**. This **encoder** outputsthe systematic and the recursive stream of the primary datausing a puncturing technique. In Fig. 1 puncturing isaccomplished with the insertion of a deinterlacer. Similarly, theother remaining **encoder**s accept interleaved versions of theprimary data and produce only the recursive streams again withthe method of puncturing. Finally, all **encoder**s’ outputs areconcatenated in parallel with the help of four functions. Thesefunctions are horizontal concatenation, transposing, reshapingand frame conversion. Typical Turbo **encoder**s containing twoencoding blocks have a rate of 1/3. The **encoder** of theproposed Turbo system contains three convolutional codingblocks and works with a rate of 1/4. Moreover, it must not beomitted the fact that no puncturing was applied after the blockof concatenation. Generally this puncturing procedure gives thecapability of producing various rates. This was not applied herebecause it would result in performance degradation as theTurbo coded punctured data would have to pass through anAWGN channel [14]. After the AWGN channel follows thedecoding process. This process can be completed into twostages. The first stage’s front end is constituted of a Unipolar toBipolar and a Gain block (gain = 2/s, where s is the noisevariance). Then these are followed by the Zero Order Holdprocedure along with the appropriate puncturing [15]. The lastis conducted in order to retrieve the recursive and systematicversions from the primary incoming information stream. Thenthese signals are interlaced in order to pass through theappropriate APP **decoder**s. The proposed system differs from atypical PCCC system by the number of random interleavers,interlacers and the presence of a gain block which has a valueof 1/2 (after puncture block 1). All the previous are presentedin Fig. 3. It must be noted also that the Zero Order Hold adjuststhe number of iterations.Figure 1. Turbo **encoder**s (Typical PCCC design contains only white blocks.The proposed PCCC is accomplished using additional grey blocks. Thetypical SCCC design corresponds to the block sequence of 1234 whilethe block 2 is named outer **encoder** and block 4 is named inner **encoder**)Figure 2. Serial Turbo DecoderFigure 3. First stage of PCCC decoding (Gain after puncture block 1 appearsas “G”. Proposed first stage is accomplished using additional grey blocks)The second stage of the PCCC system contains APP**decoder**s which participate in a connection topology forconstituting an iterative function [16]. Each output of the firststage is connected to the corresponding input of the APP**decoder** at the second stage. Each output is the updated versionof its input. Various random interleavers have been inserted inthe design for the purpose of decorrelating data streams for thebest possible result. Also, puncturing is used in order redundantdata to be rejected [7]. Only then the remaining informationwill pass through a block named Hard Decision. This happensas it is important to alter the data type to 1’s and 0’s. Finally,the new stream will be compared to the original information foracquiring the BER performance. The new parallel Turbo**decoder** contains three APP **decoder**s which are shown in Fig.4. The input (IN1) connects to the output (OUT1) of the firststage. This data stream is inserted into the first APP **decoder**which outputs a better speculated sequence. The updatedsequence is interleaved and passes through the second APP**decoder**. Again, its updated output connects to the third**encoder**. Then, two choices are possible. One connection leadsto the Hard Decision block while the other follows the iterativepath in order to reach the input of the first APP **decoder**. Thisprocedure increases the performance of the overall process.The decoding system shown in Fig. 4 contains also a verycritical part for our design which is a scaling factor. This factorcan be added as a gain block. This block is known from the

literature to enhance decoding performance as long as theproper value is selected. This value is suggested to be equal to0.7 [10,17,18]. Various simulations were conducted in order toverify that this value can also be applied in our coding system.Fig. 4 presents the second decoding stage of two PCCCs.The typical PCCC design is constituted from all grey and blackcolored blocks including the dashed routes 1 and 2. Our new**decoder** is constituted from all white and grey blocks withoutthe presence of routes 1 and 2.Figure 4. Second stage of PCCC decoding (Scaling factor corresponds tothe block labelled as “G”)III. SIMULATION RESULTSAll the Turbo codes’ designs were simulated and comparedin terms of BER. They contained convolutional **encoder**ssustaining two types of rates. All the **encoder**s had a rate of 1/2except from the inner **encoder** in SCCC **scheme** which had arate of 2/3. The **decoder**s’ part constituted of APP **decoder**s asalready mentioned in the previous section. These **decoder**swere adjusted to work with Max* option. True A PosterioriProbability needs more memory and decreases the speed of thedecoding process. Also, Max* compared to Max is morecomplicated but it boosts BER performance [19,20]. These twooptions differ only by a correction term. This term is presentinside Max*. The last option is also known as log-MAPalgorithm and is analyzed thoroughly in [21]:*x yy xmax ( x, y) = ln( e + e ) = max( x, y) + log(1 + e − −). (1)All simulated scenarios included an AWGN channel. Everytransmitted symbol is constituted of a fixed number of bits[22]. This number depends on the modulation type. In thispaper all simulated scenarios employed QPSK modulation(Gray constellation, M=4). Rm and Rc correspond to log 2 Mand code rate. The noise variance is presented in (2). Allprevious facts are mentioned in detail in [13].σ = .(2)2R R Ν2 ES( E / )m c b 0The coding **scheme**s of PCCC, SCCC, new PCCC with orwithout scaling factor, and convolutional coding with Viterbi**decoder** were simulated with various frame sizes of 64, 128,256 and 512. In Fig. 5 are presented all BER plots. In Fig. 5aare compared all **scheme**s for 5 iterations (new PCCC with SFonly for block size 512). In this plot is clearly shown that thenew Turbo **scheme** even without scaling factor is superior to allothers (e.g. for BER of 10 - 4 and block size of 256 the codinggain is almost 0.2 dB compared to SCCC and over 0.5 dBcompared to a typical PCCC). In Fig. 5b all techniques arecompared with the proposed one (which utilizes scaling factor)for 5 iterations. Fig. 5c presents the diversity in the behavior ofthe new system (with SF) for 5 iterations and for various framesizes (Blue, red, black and green curves correspond to framesizes of 64, 128, 256 and 512). This plot exhibits the enhancedperformance of the new system when the SF of 0.7 is applied.For example, BER of 10 -4 can be achieved with block size 512.The coding gain is almost 0.3 dB with the presence of the SF.In Fig. 5b, the superiority of the new PCCC design with SF iseasily noticeable (e.g. new **scheme** with block size of 256shows an improved performance over 0.3 dB compared to atypical PCCC with block size of 512 and for BER of 10 - 4 ).IV. CONCLUSIONS – FUTURE SCOPESA new PCCC design utilizing a scaling factor of 0.7 wascompared to other existing **scheme**s. This new technique issuperior compared to all others even with the absence of theSF. Also, the total number of iterations of the decodingprocedure was set to number five, because by increasing thenumber of iterations more latency is produced [7]. Futurescopes of this research include the integration of the newcoding system (in simulation level) to OFDM systems [2], withenhanced characteristics [23,24], along with its implementationin a DSP [25].ACKNOWLEDGMENTSThis research has been co-financed by the European Union(European Social Fund – ESF) and Greek national fundsthrough the Operational Program "Education and LifelongLearning" of the National Strategic Reference Framework(NSRF) - Research Funding Program: Heracleitus II. Investingin knowledge society through the European Social Fund.REFERENCES[1] C. Berrou, A. Glavieux and P. Thitimajshima, “Near Shannon limiterror-correcting coding and decoding: Turbo-codes. 1,” in Proceedingsof the IEEE International Conference of Communications ICC 93, IEEE,Geneva, 23-26 May 1993, pp. 1064–1070.[2] S. K. Chronopoulos, C. Votis, V. Raptis, G. Tatsis, and P. Kostarakis,“In depth analysis of noise effects in orthogonal frequency divisionmultiplexing systems, utilising a large number of subcarriers,” inProceedings of the 7th International Conference of the Balkan PhysicalUnion, American Institute of Physics Conference Series, Vol. 1203,Alexandroupolis, 9-13 September 2009, pp. 967–972.[3] C. I. Votis, P. Kostarakis and L. P. Ivrissimtzis, “Design andMeasurements of A Multiple-Output Transmitter for MIMOApplications,” Journal of Circuits, Systems, and Computers (JCSC), vol.20, no. 3, May 2011, pp. 515-529.[4] C. Votis, and P. Kostarakis, “Design and Analysis of a Multiple-InputReceiver for Mimo Wireless Applications,” International Journal ofCommunications, Network and System Sciences, Scientific ResearchPublishing Inc., vol. 3, no. 7, July 2010, pp. 593-601.[5] G. Tatsis, C. Votis, V. Raptis, V. Christofilakis, S. K. Chronopoulos,and P. Kostarakis, “Performance of UWB-Impulse Radio ReceiverBased on Matched Filter Implementation with Imperfect ChannelEstimation,” in Proceedings of the 7th International Conference of theBalkan Physical Union, American Institute of Physics ConferenceSeries, Vol. 1203, Alexandroupolis, 9-13 September 2009, pp. 573–578.

[6] G. Tatsis, C. Votis, V. Raptis, V. Christofilakis, S. K. Chronopoulos,and P. Kostarakis, “Design and Implementation of Ultra-WidebandImpulse Radio Transmitter,” in Proceedings of the 7th InternationalConference of the Balkan Physical Union, American Institute of PhysicsConference Series, Vol. 1203, Alexandroupolis, 2009, pp. 579–584.[7] S. Choudhury, “Modeling and Simulation of a Turbo Encoder andDecoder for Wireless Communication Systems,” UT Austin, 2002.http://users.ece.utexas.edu/~bevans/courses/ee382c/projects/spring02/index.html[8] M. Taskaldiran, R. C. S. Morling and I. Kale, “The modified Max-Log-MAP **turbo** decoding algorithm by extrinsic information scaling forwireless applications,” Wireless Technology, vol. 44, Springer US,2009, pp. 203–213.[9] P. Grant, “Turbo Coding,” Connexions, 2009.http://cnx.org/content/m18178/1.3/[10] J. Vogt and A. Finger, “Improving the max-log-MAP **turbo** **decoder**,”IET Electronics Letters, Institution of Engineering and Technology, vol.36, no. 23, 2000, pp. 1937–1939.[11] S. Rekh, S. Subha Rani and A. Shanmugam, “Optimal Choice ofInterleaver for Turbo Codes,” Academic Open Internet Journal,Technical College, Bourgas, Bulgaria, vol. 15, July 2005.[12] X. Wei, H. Guijun and D. Qing, “Application of Turbo codes in opticalOFDM multimode fiber communication system,” OpticsCommunications, Elsevier, vol. 281, no. 5, 2008, pp. 1118–1122.[13] S. K. Chronopoulos, G. Tatsis and P. Kostarakis, “Turbo Codes―ANew PCCC Design” Communications and Network, Scientific ResearchPublishing Inc., vol. 3, no. 4, November 2011, pp. 229–234.[14] M. Shafieipour, H. S. Lim and T. C. Chuah, “Robust **turbo** coded OFDMtransceiver for power-line channels,” IEICE Electronics Express, vol. 7,no. 19, 2010, pp. 1416–1422.[15] S. Shah, and V. Sinha, “Iterative Decoding vs. Viterbi Decoding: AComparison,” in Proceedings of the 14th National Conference onCommunications NCCC 2008, IIT Mumbai, 2008, pp. 491–493.[16] I. S. Raad and M. Yakan, “Implementation of a **turbo** codes test bed inthe Simulink environment,” in Proccedings of the Eighth InternationalSymposium on Signal Processing and its Applications ISSPA'05, IEEE,Sydney, 28-31 August 2005, pp. 847–850.[17] M. Timis, “Design of LOG-MAP/MAX-LOG-MAP Decoder,” Annals.Computer Science Series, "Tibiscus" University of Timisoara, Romania,vol. 5, no. 1, 2007, pp. 63–67.[18] C. Chaikalis, J. M. Noras F. Riera-Palou, “Improving the reconfigurableSOVA/log-MAP **turbo** **decoder** for 3GPP,” in Proceedings ofCSNDSP’02, Stafford, UK, July 2002, pp. 105–108.[19] A. J. Viterbi, “An Intuitive Justification and a SimplifiedImplementation of the MAP Decoder for Convolutional Codes,” IEEE J.Sel. Areas Commun., vol. 16, no. 2, February 1998, pp. 260–264.[20] S. Benedetto, D. Divsalar, G. Montorsi, and F. Pollara, "A Soft-InputSoft-Output Maximum A Posterior (MAP) Module to Decode **Parallel**and Serial Concatenated Codes," TDA Progress Report, Jet PropulsionLaboratory, California Institute of Technology, vol. 42-127, 1996.[21] P. Robertson, P. Villebrun and P. Hoeher, “A comparison of optimal andsub-optimal MAP decoding algorithms operating in the log domain,” inProceedings of IEEE International Conference on Communications,Seattle, Washington, June 1995, pp. 1009–1013.[22] P. G. M. de Bot, “Design of a digital communication system usingmultistage block coded modulation,” Technical Report, TechnischeUniversiteit Eindhoven, 1991.[23] S. K. Chronopoulos, G. Tatsis, V. Raptis and P. Kostarakis, “EnhancedPAPR in OFDM without Deteriorating BER Performance,” InternationalJournal of Communications, Network and System Sciences, ScientificResearch Publishing Inc., vol. 4, no. 3, March 2011, pp. 164–169.[24] A. A. Abouda, “PAPR reduction of OFDM signal using **turbo** codingand selective mapping,” in Proceedings of the 6th Nordic SignalProcessing Symposium-NORSIG, June 2004, pp. 248–251.[25] M. F. Sabir, R. Tripathi, B. L. Evans and A. C. Bovik, “A real-timeembedded software implementation of a **turbo** **encoder** and soft outputViterbi algorithm based **turbo** **decoder**,” Record of the Thirty-SixthACSC, IEEE, November 2002, pp. 1099–1103.(a)(b)(c)Figure 5. BER Performance of various Coding Techniques and for variousmodes of operation (Block size and Scaling factor)