A Parallel turbo encoder-decoder scheme
Spyridon K. Chronopoulos, Giorgos Tatsis, Vasilis Raptis, Panos Kostarakis
Physics Department,
University of Ioannina
Ioannina, Greece
[email protected], {gtatsis, vraptis}@grads.uoi.gr,
[email protected]
Abstract — The field of forward error correction was greatly
influenced by the discovery of turbo codes. This invention led to a
great improvement in terms of Bit-Error-Rate (BER). Various
schemes have been proposed and are based either on parallel or
serial designs of concatenated decoders. These decoders are
iterative using SOVA (soft output viterbi) or MAP (maximum a
posteriori) algorithms. They introduce superior recovery
functions of data which have been transmitted through noisy
environments. Actually, these turbo schemes compared to
convolutional codes achieve better data recovery with the
increase of the constraint length. Considering all previous
principles, we designed a new parallel turbo encoder-decoder
system. This system was compared to already existing serial and
parallel turbo coding schemes and to a convolutional encoder.
Performance level was verified through simulations including
Additive White Guassian noise. BER analysis exhibited better
results compared to all other designs for various numbers of
iterations.
Keywords - Turbo codes, Convolutional
Concatenated Convolutional Codes, Parallel
Convolutional Codes, Random interleavers,
Probability decoder, Iterative decoding, Puncturing,
Noise variance
I.
codes, Serial
Concatenated
A Posteriori
Scaling factor,
INTRODUCTION
Theoretical bounds of Shannon’s capacity can be reached in
terms of performance for the case of Turbo codes. Iterative
procedure, as a part of a Turbo decoder system, offers excellent
detection of information streams. These streams are transmitted
through Gaussian channels. Consequently, the invention of
Turbo 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 Generation
Partnership Project (3GPP), 3G mobile telephony standards
and others. Also, Turbo codes have been adopted by European
Space Agency and NASA missions such as SMART-1 and
Mars Reconnaissance Orbiter respectively [8].
Turbo codes can be categorized into two schemes. These
schemes are SCCC (Serially concatenated convolutional codes)
and PCCC (Parallel concatenated convolutional codes). The
previous topologies can be easily discriminated by the strategy
of the block connections. These connections refer to the joining
of convolutional encoders in a serial or in a parallel manner. In
each case various interleavers must be present. For the
decoders’ section the designs are more complicated and they
will be mentioned later.
The idea of iterative function is coming from the operation
of a car’s turbo charger. The fuel is enhanced through a
feedback connection and the car’s performance increases. In
accordance to the previous idea, a Turbo decoder uses feedback
loop in order to reevaluate data and finally to produce a better
estimation [9]. This estimation of received data is superior
compared to other systems which are utilizing Viterbi
decoders. The iterative function can be constituted of APP (A
Posteriori Probability) decoders with two inputs and two
outputs. These decoders provide a very efficient estimation of
the value of the incoming information but they cannot conclude
to a decision which bits are 1’s or 0’s. This decision is taken by
the Hard Decision section. Also, two of the previous decoders
can constitute a typical iterative decoding system. This system
can be considered as a block with two inputs and two outputs.
The two inputs correspond to the incoming streams from the
iterative connection and from the primary receiving route. The
two outputs produce the data for reevaluation (for feedback
loop) and the speculated sequences (for Hard Decision).
A similar idea to the previous strategy of encoding and
decoding has been adopted in order to design a new PCCC
system. This system is presented in section II. The main
differences to standard architectures include three
convolutional encoders in the encoder’s section, along with the
appropriate number of interleavers. In the decoder’s section,
the incoming data stream is demultiplexed and then each
produced data stream is fed to the appropriate APP decoders.
These decoders are three instead of two but they still form an
iterative function for estimating the received data. Moreover, in
this estimation is taken into consideration the use of an
additional parameter which is a scaling factor [10].
This paper has four sections. The second section is
dedicated to the discussion of the various Turbo designs which
were simulated and compared. These simulations and their
results are shown in the third section. In the fourth section
conclusions are presented involving this research along with
very promising future scopes.
II.
PARALLEL AND SERIAL TURBO SCHEMES
Systems which are needed to have a robust endurance
against noise must definitely utilize Turbo codes and
consequently iterative techniques in the decoders’ parts. These
parts will be discussed in this section but firstly the encoders
must be presented. These encoders form two types of
concatenated codes which the two of them use parallel
2nd Pan-Hellenic Conference on Electronics and Telecommunications - PACET΄12, March 16-18, 2012, Thessaloniki, Greece
combinations of convolutional codes while the other one uses
serial formation. Also, all the designs contain interleavers.
These interleavers have the ability of decorrelating data
streams especially when their serial or parallel concatenation
must be conducted. Interleavers which exhibit excellent
performance are Random Interleavers [11].
Two convolutional encoders which are connected in serial,
with a presence of a random interleaver between them,
constitute an SCCC encoder in Fig. 1. The convolutional codes
are adjusted to two types of rates (outer - 1/2 and inner - 2/3).
The outer has a constraint length of three and the inner a
constraint length of six. The previous constraint lengths result
in an overall length of seven with one input and six registers,
while the total rate equals to 1/3. The SCCC decoder in Fig. 2
contains two APP decoders named as inner and outer. The
inner is the first encoder which accepts the primary received
data and the data coming from the feedback loop. Then, the
inner is connected with a random deinterleaver and in turn this
deinterleaver connects to the outer encoder. In turn, this
produces two output signals. One data stream will pass through
the feedback connection and the other one is the input of the
Hard Decision block.
PCCC systems are usually constituted of two convolutional
encoders connected in parallel mode [12]. In this section a new
PCCC scheme will be presented which contains three encoders
[13]. A binary generator produces the random signal which
passes through a convolutional encoder. This encoder outputs
the systematic and the recursive stream of the primary data
using a puncturing technique. In Fig. 1 puncturing is
accomplished with the insertion of a deinterlacer. Similarly, the
other remaining encoders accept interleaved versions of the
primary data and produce only the recursive streams again with
the method of puncturing. Finally, all encoders’ outputs are
concatenated in parallel with the help of four functions. These
functions are horizontal concatenation, transposing, reshaping
and frame conversion. Typical Turbo encoders containing two
encoding blocks have a rate of 1/3. The encoder of the
proposed Turbo system contains three convolutional coding
blocks and works with a rate of 1/4. Moreover, it must not be
omitted the fact that no puncturing was applied after the block
of concatenation. Generally this puncturing procedure gives the
capability of producing various rates. This was not applied here
because it would result in performance degradation as the
Turbo coded punctured data would have to pass through an
AWGN channel [14]. After the AWGN channel follows the
decoding process. This process can be completed into two
stages. The first stage’s front end is constituted of a Unipolar to
Bipolar and a Gain block (gain = 2/s, where s is the noise
variance). Then these are followed by the Zero Order Hold
procedure along with the appropriate puncturing [15]. The last
is conducted in order to retrieve the recursive and systematic
versions from the primary incoming information stream. Then
these signals are interlaced in order to pass through the
appropriate APP decoders. The proposed system differs from a
typical PCCC system by the number of random interleavers,
interlacers and the presence of a gain block which has a value
of 1/2 (after puncture block 1). All the previous are presented
in Fig. 3. It must be noted also that the Zero Order Hold adjusts
the number of iterations.
Figure 1. Turbo encoders (Typical PCCC design contains only white blocks.
The proposed PCCC is accomplished using additional grey blocks. The
typical SCCC design corresponds to the block sequence of 1Æ2Æ3Æ4 while
the block 2 is named outer encoder and block 4 is named inner encoder)
Figure 2. Serial Turbo Decoder
Figure 3. First stage of PCCC decoding (Gain after puncture block 1 appears
as “G”. Proposed first stage is accomplished using additional grey blocks)
The second stage of the PCCC system contains APP
decoders which participate in a connection topology for
constituting an iterative function [16]. Each output of the first
stage is connected to the corresponding input of the APP
decoder at the second stage. Each output is the updated version
of its input. Various random interleavers have been inserted in
the design for the purpose of decorrelating data streams for the
best possible result. Also, puncturing is used in order redundant
data to be rejected [7]. Only then the remaining information
will pass through a block named Hard Decision. This happens
as 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 for
acquiring the BER performance. The new parallel Turbo
decoder contains three APP decoders which are shown in Fig.
4. The input (IN1) connects to the output (OUT1) of the first
stage. This data stream is inserted into the first APP decoder
which outputs a better speculated sequence. The updated
sequence 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 leads
to the Hard Decision block while the other follows the iterative
path in order to reach the input of the first APP decoder. This
procedure increases the performance of the overall process.
The decoding system shown in Fig. 4 contains also a very
critical part for our design which is a scaling factor. This factor
can be added as a gain block. This block is known from the
literature to enhance decoding performance as long as the
proper value is selected. This value is suggested to be equal to
0.7 [10,17,18]. Various simulations were conducted in order to
verify 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 black
colored blocks including the dashed routes 1 and 2. Our new
decoder is constituted from all white and grey blocks without
the presence of routes 1 and 2.
new Turbo scheme even without scaling factor is superior to all
others (e.g. for BER of 10- 4 and block size of 256 the coding
gain is almost 0.2 dB compared to SCCC and over 0.5 dB
compared to a typical PCCC). In Fig. 5b all techniques are
compared with the proposed one (which utilizes scaling factor)
for 5 iterations. Fig. 5c presents the diversity in the behavior of
the new system (with SF) for 5 iterations and for various frame
sizes (Blue, red, black and green curves correspond to frame
sizes of 64, 128, 256 and 512). This plot exhibits the enhanced
performance 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 is
easily noticeable (e.g. new scheme with block size of 256
shows an improved performance over 0.3 dB compared to a
typical PCCC with block size of 512 and for BER of 10 - 4).
IV.
Figure 4. Second stage of PCCC decoding (Scaling factor corresponds to
the block labelled as “G”)
III.
SIMULATION RESULTS
All the Turbo codes’ designs were simulated and compared
in terms of BER. They contained convolutional encoders
sustaining two types of rates. All the encoders had a rate of 1/2
except from the inner encoder in SCCC scheme which had a
rate of 2/3. The decoders’ part constituted of APP decoders as
already mentioned in the previous section. These decoders
were adjusted to work with Max* option. True A Posteriori
Probability needs more memory and decreases the speed of the
decoding process. Also, Max* compared to Max is more
complicated but it boosts BER performance [19,20]. These two
options differ only by a correction term. This term is present
inside Max*. The last option is also known as log-MAP
algorithm and is analyzed thoroughly in [21]:
max ( x, y ) = ln(e + e ) = max( x, y ) + log(1 + e
*
x
y
− y−x
). (1)
All simulated scenarios included an AWGN channel. Every
transmitted symbol is constituted of a fixed number of bits
[22]. This number depends on the modulation type. In this
paper all simulated scenarios employed QPSK modulation
(Gray constellation, M=4). Rm and Rc correspond to log2M
and code rate. The noise variance is presented in (2). All
previous facts are mentioned in detail in [13].
ES
2
.
(2)
σ =
2 R mR c ( Eb / Ν0 )
The coding schemes of PCCC, SCCC, new PCCC with or
without 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. 5a
are compared all schemes for 5 iterations (new PCCC with SF
only for block size 512). In this plot is clearly shown that the
CONCLUSIONS – FUTURE SCOPES
A new PCCC design utilizing a scaling factor of 0.7 was
compared to other existing schemes. This new technique is
superior compared to all others even with the absence of the
SF. Also, the total number of iterations of the decoding
procedure was set to number five, because by increasing the
number of iterations more latency is produced [7]. Future
scopes of this research include the integration of the new
coding system (in simulation level) to OFDM systems [2], with
enhanced characteristics [23,24], along with its implementation
in a DSP [25].
ACKNOWLEDGMENTS
This research has been co-financed by the European Union
(European Social Fund – ESF) and Greek national funds
through the Operational Program "Education and Lifelong
Learning" of the National Strategic Reference Framework
(NSRF) - Research Funding Program: Heracleitus II. Investing
in knowledge society through the European Social Fund.
REFERENCES
[1]
[2]
[3]
[4]
[5]
C. Berrou, A. Glavieux and P. Thitimajshima, “Near Shannon limit
error-correcting coding and decoding: Turbo-codes. 1,” in Proceedings
of the IEEE International Conference of Communications ICC 93, IEEE,
Geneva, 23-26 May 1993, pp. 1064–1070.
S. K. Chronopoulos, C. Votis, V. Raptis, G. Tatsis, and P. Kostarakis,
“In depth analysis of noise effects in orthogonal frequency division
multiplexing systems, utilising a large number of subcarriers,” in
Proceedings of the 7th International Conference of the Balkan Physical
Union, American Institute of Physics Conference Series, Vol. 1203,
Alexandroupolis, 9-13 September 2009, pp. 967–972.
C. I. Votis, P. Kostarakis and L. P. Ivrissimtzis, “Design and
Measurements of A Multiple-Output Transmitter for MIMO
Applications,” Journal of Circuits, Systems, and Computers (JCSC), vol.
20, no. 3, May 2011, pp. 515-529.
C. Votis, and P. Kostarakis, “Design and Analysis of a Multiple-Input
Receiver for Mimo Wireless Applications,” International Journal of
Communications, Network and System Sciences, Scientific Research
Publishing Inc., vol. 3, no. 7, July 2010, pp. 593-601.
G. Tatsis, C. Votis, V. Raptis, V. Christofilakis, S. K. Chronopoulos,
and P. Kostarakis, “Performance of UWB-Impulse Radio Receiver
Based on Matched Filter Implementation with Imperfect Channel
Estimation,” in Proceedings of the 7th International Conference of the
Balkan Physical Union, American Institute of Physics Conference
Series, Vol. 1203, Alexandroupolis, 9-13 September 2009, pp. 573–578.
[6]
[7]
[8]
[9]
[10]
[11]
[12]
[13]
[14]
[15]
[16]
[17]
[18]
[19]
[20]
[21]
[22]
[23]
[24]
[25]
G. Tatsis, C. Votis, V. Raptis, V. Christofilakis, S. K. Chronopoulos,
and P. Kostarakis, “Design and Implementation of Ultra-Wideband
Impulse Radio Transmitter,” in Proceedings of the 7th International
Conference of the Balkan Physical Union, American Institute of Physics
Conference Series, Vol. 1203, Alexandroupolis, 2009, pp. 579–584.
S. Choudhury, “Modeling and Simulation of a Turbo Encoder and
Decoder for Wireless Communication Systems,” UT Austin, 2002.
http://users.ece.utexas.edu/~bevans/courses/ee382c/projects/spring02/in
dex.html
M. Taskaldiran, R. C. S. Morling and I. Kale, “The modified Max-LogMAP turbo decoding algorithm by extrinsic information scaling for
wireless applications,” Wireless Technology, vol. 44, Springer US,
2009, pp. 203–213.
P. Grant, “Turbo Coding,” Connexions, 2009.
http://cnx.org/content/m18178/1.3/
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.
S. Rekh, S. Subha Rani and A. Shanmugam, “Optimal Choice of
Interleaver for Turbo Codes,” Academic Open Internet Journal,
Technical College, Bourgas, Bulgaria, vol. 15, July 2005.
X. Wei, H. Guijun and D. Qing, “Application of Turbo codes in optical
OFDM
multimode
fiber
communication
system,”
Optics
Communications, Elsevier, vol. 281, no. 5, 2008, pp. 1118–1122.
S. K. Chronopoulos, G. Tatsis and P. Kostarakis, “Turbo Codes―A
New PCCC Design” Communications and Network, Scientific Research
Publishing Inc., vol. 3, no. 4, November 2011, pp. 229–234.
M. Shafieipour, H. S. Lim and T. C. Chuah, “Robust turbo coded OFDM
transceiver for power-line channels,” IEICE Electronics Express, vol. 7,
no. 19, 2010, pp. 1416–1422.
S. Shah, and V. Sinha, “Iterative Decoding vs. Viterbi Decoding: A
Comparison,” in Proceedings of the 14th National Conference on
Communications NCCC 2008, IIT Mumbai, 2008, pp. 491–493.
I. S. Raad and M. Yakan, “Implementation of a turbo codes test bed in
the Simulink environment,” in Proccedings of the Eighth International
Symposium on Signal Processing and its Applications ISSPA'05, IEEE,
Sydney, 28-31 August 2005, pp. 847–850.
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.
C. Chaikalis, J. M. Noras F. Riera-Palou, “Improving the reconfigurable
SOVA/log-MAP turbo decoder for 3GPP,” in Proceedings of
CSNDSP’02, Stafford, UK, July 2002, pp. 105–108.
A. J. Viterbi, “An Intuitive Justification and a Simplified
Implementation of the MAP Decoder for Convolutional Codes,” IEEE J.
Sel. Areas Commun., vol. 16, no. 2, February 1998, pp. 260–264.
S. Benedetto, D. Divsalar, G. Montorsi, and F. Pollara, "A Soft-Input
Soft-Output Maximum A Posterior (MAP) Module to Decode Parallel
and Serial Concatenated Codes," TDA Progress Report, Jet Propulsion
Laboratory, California Institute of Technology, vol. 42-127, 1996.
P. Robertson, P. Villebrun and P. Hoeher, “A comparison of optimal and
sub-optimal MAP decoding algorithms operating in the log domain,” in
Proceedings of IEEE International Conference on Communications,
Seattle, Washington, June 1995, pp. 1009–1013.
P. G. M. de Bot, “Design of a digital communication system using
multistage block coded modulation,” Technical Report, Technische
Universiteit Eindhoven, 1991.
S. K. Chronopoulos, G. Tatsis, V. Raptis and P. Kostarakis, “Enhanced
PAPR in OFDM without Deteriorating BER Performance,” International
Journal of Communications, Network and System Sciences, Scientific
Research Publishing Inc., vol. 4, no. 3, March 2011, pp. 164–169.
A. A. Abouda, “PAPR reduction of OFDM signal using turbo coding
and selective mapping,” in Proceedings of the 6th Nordic Signal
Processing Symposium-NORSIG, June 2004, pp. 248–251.
M. F. Sabir, R. Tripathi, B. L. Evans and A. C. Bovik, “A real-time
embedded software implementation of a turbo encoder and soft output
Viterbi algorithm based turbo decoder,” Record of the Thirty-Sixth
ACSC, IEEE, November 2002, pp. 1099–1103.
(a)
(b)
(c)
Figure 5. BER Performance of various Coding Techniques and for various
modes of operation (Block size and Scaling factor)