Upload
syifa-aulia
View
215
Download
0
Embed Size (px)
Citation preview
8/3/2019 Convolution Paper
1/5
A Teaching Demo Application of Convolutional
Coding Techniques for Wireless Communications
Ali alhan, Celal eken and smail Ertrk
Computer Education Department, University of Kocaeli, Trkiye{ali.calhan, cceken, erturk }@kocaeli.edu.tr
Abstract- This paper introduces a demo application toolkit,implemented using MATLAB GUI, for teaching convolutional
coding techniques employed in wireless communications. In this
study presented, Viterbi decoding algorithm, Log-MAP and
SOVA Turbo decoding algorithms are performed using
MATLAB software. With the toolkit developed, an example image
transfer application has been carried out for comparative
performance analysis of these techniques. Using the toolkit,
performances of the convolutional coding techniques are easily
compared for various wireless channel models and through the
user friendly and visualized interface provided, learning process
of these techniques is satisfactorily achieved as well.I. INTRODUCTION
The demo application developed allows the user to be able
to compare the convolutional coding techniques, i.e., Viterbi
decoding algorithm that is the basis for convolutional coding
techniques and Turbo decoding with Log-MAP and SOVA
algorithms, widely used in wireless communications [1]. In
order to evaluate their performances comparatively, we performed several image transfer scenarios on AWGN
(Additive White Gaussian Noise), Rayleigh and Riceanchannels. All these techniques, their simulations and the demo
application toolkit are implemented using MATLAB software.
The MATLAB GUI demo tool provides several pop-up menus
and radio buttons for selecting parameters such as theconvolutional coding technique, its decoding algorithm, SNR
value, channel model, and etc. Any selected image file to be
transferred can utilise all of the available decoding algorithms
for varying SNR values. Consequently, obtained BER results
as a function of these specific selected algorithms and
parameters are denoted on GUI interface under each
transmitted image. A synopsis of BER results for different
predefined SNR values varying between 0-4 dB is also
presented on the GUI interface.There are two types of forward error correction techniques
commonly used, namely block coding and convolutional
coding [2, 3]. Block codes are based rigorously on finite field
arithmetic and abstract algebra, and as a result, convolutional
codes are commonly preferred in wireless communication.
Viterbi algorithm is the basis decoding algorithm for
convolutional codes while Turbo code is currently pointed out
as the best of them in use [4]. Turbo code enables information
transmission across the channel with arbitrary low
(approaching zero) bit error rate [5]. It is a parallel
concatenation of two component convolutional codes separated
by a random interleaver. It has been shown that a Turbo code
can achieve nearest performance to the Shannon limit [2, 5]. In
this work developed, an easy comprehension of these
convolutional coding techniques and their employment in
wireless communications is accomplished.
There are some restrictions and disadvantages of various
transmission channels in wireless medium between receiver
and transmitter where transmitted signals arrive at receiver
with different power and time delay due to the reflection,diffraction and scattering effects. In addition, the BER (Bit
Error Rate) value of the wireless medium is relatively high.
These drawbacks sometimes introduce destructive effects on
the wireless data transmission performance. As a result,
employing error control techniques is necessary in theseapplications.
During digital data transmission and storage operations,
performance criterion is commonly determined by BER which
is simply: the Number of Erroneous Bits/the Number of Total
Bits. Noise in transmission medium disturbs the signal and
causes data corruptions. Relation between signal and noise isdescribed with SNR (signal-to-noise ratio). Generally, SNR is
explained with Signal Power/Noise Power and is inverselyproportional with BER, meaning that the higher the SNR is the
less the BER and the better communication quality are.
The teaching demo application presented aims at easy
evaluation of different convolutional coding techniques interms of BER results as a function of varying SNR values and
also at displaying the distractive effects of different parameters
on the transmitted digital pictures over wireless medium.
The remainder of the paper is organized as follows. In the
next section, overall properties of convolutional codes together
with related decoding algorithms are described, followed byfundamentals of Viterbi decoding algorithms and Turbo
decoding algorithms for a better perception of the tool
developed. Section 3 introduces general information aboutwidely-used wireless channel models. Then, the summary of
the teaching demo application is provided in Section 4. Anexample image file transfer scenario with error control
mechanisms over a wireless medium modelled using the toolkit
and comparative performance evaluations of both Viterbi
decoding algorithms and Turbo decoding algorithms are
presented as well. The last section gives our summary with
final remarks.
978-1-4244-4740-4/09/$25.00 2009 IEEE
8/3/2019 Convolution Paper
2/5
II. CONVOLUTIONAL CODES
Convolutional encoding is accomplished using several linearshift registers and occurred to add redundant bits to data flow.
An input sequence x and contents of shift registers perform
modulo-two addition after information sequence is sent to shift
registers, so that an output sequence c is obtained. The ratio
R=k/n is called the code rate for a convolutional code. k is
the number of parallel input bits and n is the number ofparallel decoded output bits. m is the symbolized number of
shift registers shown in Fig. 1.
Shift registers store the state information of convolutional
encoder, and constraint length K relates the number of bits
upon which the output depends. A convolutional code can
become very complicated with various code rates and
constraint lengths. A simple convolutional code is shown in
Fig. 1, where D points to shift registers and points to X-OR logic operations. The trellis diagram representation shows
all possible information and encoded sequences for the
convolutional encoder and provides solution to the
convolutional codes. Fig. 2 presents the tree diagram of the
encoder given in Fig. 1.
D Dx
c1
c2
Fig. 1.Convolutional encoder with k=1, n=2, R=1/2, m=2 and K=3.
Fig. 2. Trellis diagram representation of the encoder in Fig. 1.
A. Viterbi Decoding AlgorithmViterbi decoding algorithm is usually applied to a
convolutional encoder and uses the maximum likelihood
decoding technique [6]. Noisy channels cause bit errors at
receiver. Viterbi algorithm estimates actual bit sequence using
trellis diagram. Its decoding algorithm is used in two different
forms. This difference results from the receiving form of the
bits in the receiver. Decoded information is obtained with
either hard decision or soft decision. It is explained with 1 on
hard decision operation while soft decision decoding uses multi
bit quantization [6]. Hard decision and soft decision decodingrefer to the type of quantization used on the received bits [2].
Hard decision decoding uses 1 bit quantization on the received
channel values while soft decision decoding uses multi bit
quantization on the received channel values.
For the ideal soft decision decoding (i.e., with infinite bit
quantization) the received channel values are directly used in
the Viterbi decoding process. The receiver does not assign azero or a one (single bit quantization) to each received bit, but
uses multi bit or infinite bit quantized values [7]. Ideally, the
received sequence r is infinite bit quantized and used directly
in the soft decision Viterbi decoder. The soft decision Viterbi algorithm is similar to its hard
decision algorithm except in that squared Euclidian distance is
used in the metric instead of Hamming distance. Generally,
with soft decision decoding, approximately 2 dB of coding
gain over hard decision can be obtained in Gaussian channels
[7].
B. Turbo Decoding AlgorithmsA Turbo code encoder is principally built using two identical
recursive systematic convolutional (RSC) codes with parallel
concatenation shown in Fig. 3. R is typically 1/2 for an RSC
encoder. These two component encoders are separated by aninterleaver. The interleaver changes the input sequence with a
certain rule. Only one of the systematic outputs from the two
component encoders is used as the systematic output from the
other component encoder is just a permuted version of the
chosen systematic output [5].
c1
c2Interleaver
RSC
Encoder 1
RSC
Encoder 2
u
c3
Fig. 3. Basic Turbo Encoder.
The first RSC encoder outputs are the systematic c1 and
recursive convolutional c2 sequences while the second RSC
encoder discards its systematic sequence and only output is the
recursive convolutional c3 sequence. In Fig. 3, R=1/3
convolutional encoder is shown and in order to obtain R=1/2
convolutional encoder, Turbo encoders outputs are punctured.
The Viterbi algorithm produces the ML (Maximum
Likelihood) output sequence for convolutional codes. It provides optimal sequence estimation for one stage
convolutional codes. For concatenated (multistage)
convolutional codes, there are two main drawbacks compared
to the conventional Viterbi decoders. First, the inner Viterbi
decoder produces bursts of bit errors which degrade the
performance of the outer Viterbi decoders. Second, the inner
Viterbi decoder produces hard decision outputs which prohibit
the outer Viterbi decoders from deriving the benefits of soft
decisions. Both of these drawbacks can be reduced and the
performance of the overall concatenated decoder can be
The right side of the symbol
1/11 denotes the bits which are
input to the encoder.
The left side of the symbol 1/11
denotes the state of the shift
registers.
8/3/2019 Convolution Paper
3/5
significantly improved if the Viterbi decoders are able to
produce reliability (soft-output) values. The reliability valuesare passed on to subsequent Viterbi decoders as a priori
information to improve decoding performance. This modified
Viterbi decoder is referred to as the soft-output Viterbi
algorithm (SOVA) decoder. Fig. 4 shows a concatenated
SOVA decoder [6, 8].
Fig. 4. A concatenated SOVA decoder (y, u and L represent the
received channel values, the hard decision output values and the associatedreliability values).
The operation of the SOVA algorithm is implemented by
using Viterbi algorithm twice. Classical Viterbi algorithm is
operated in forward direction of SOVA algorithm. It isnecessary to store path metrics while iterative decoding is
being implemented. In backward direction of iterative
decoding, survivor paths are not stored. Backward direction
operation and calculation of soft decision outputs are
concurrently implemented at the end of forward and backward
operation of SOVA, and soft outputs must be calculated as
logarithmic likelihood ratio [9].
( )( )( )( )( )
ru
ruu
i
i
i0Pr
1Prlog (1)
where r shows the received bit sequence. Metric calculationsfor obtaining soft outputs with SOVA algorithm are,
( )
( )( ){ }21121
1min
1
1
k
ibi
b
i
k
ifkk
ii
SMuBMSM
vM
++
=
(2)
{ }12,...,2,1,0, 21 mkk and ( )11
k
if SM , path metrics from
forward calculation, ( )1ib
i uBMi , branch metrics between
states, 2k
ibSM , path metrics from backward calculation.
Consequently, soft outputs are calculated as
( ) ( ) ( )01 iii MMu = (3)
At the heart of this iterative decoding algorithm is a soft-
input/soft-output module that is capable of computing the a
posteriori likelihood of the constituent codes. The original
MAP algorithm is unsuitable for practical implementations due
to the required multiplication and exponential operations [10].By formulating this algorithm in the logarithmic domain, the
multiplications become addition and the exponentials disappear
[11, 12]. The additions, however, become the soft combining
operations. Log-MAP algorithm is similar to SOVA decodingalgorithm except for that the backward and forward direction
operations are implemented together.
Decoder 1 Interleaver Decoder 2
De-Interleaver
rc1
rc2 rc3
Fig. 5. Turbo decoder scheme.
In Fig. 5, a general Turbo decoder structure is shown for
both SOVA and Log-MAP decoding algorithms. Because of
iterative decoding algorithm, in the MAP algorithm APPs (A
Posteriori Probability) are calculated for each data bits, unlikein the Viterbi algorithm. However, there are similarities in the
implementation of the both algorithms. When the decoded bit-
error probability PB is small, there is a very little performance
difference between the MAP and Viterbi algorithms. However,at low values of bit-energy to noise-power spectral density,
Eb/No, and high values of PB, the MAP algorithm canoutperform decoding with a soft-output Viterbi algorithm
called SOVA by 0.5 dB or more [6, 13]. For Turbo codes, this
can be very important since the first decoding iterations can
yield poor error performance. The implementation of the MAP
algorithm proceeds somewhat like performing a Viterbi
algorithm in two directions over a block of code bits. Once this
bidirectional computation yields state and branch metrics for
the block, the APPs and the MAP can be obtained for each data
bit represented within the block.
WIRELESS CHANNEL
In Wireless Communication, data flows through a noisy
environment. Various channel models are available for
modelling the noisy medium. This section is referred AWGN,
Rayleigh and Ricean wireless channel models.
The most important and simplest practical statement of a
mobile radio channel model in wireless communications is theadditive white Gaussian noise (AWGN) channel. When the
signals are transmitted over such channels, the signals arriving
at the modulator is perturbed only by the addition of some
noise and by some fixed, multiplicative path loss including
shadowing [14]. This channel is used in a mobile system where
the wireless nodes are not in motion. The noise is white thathas a constant power spectral density and Gaussian that has a
normal distribution. Addition to this, there is no variation in the
path loss over the signal bandwidth. All components of noise
are independent and real Gaussian processes. The SNR is the
most important parameter in calculating the performance in theAWGN channel.
Mobile radio performance will not be as good as the AWGN
channel because of fading. The detailed characteristics of the
propagation environment result of fading influence, where a
multiplicative and time-variant process included. Fading varies
8/3/2019 Convolution Paper
4/5
with time and so the SNR at the demodulator input varies with
time.In practice, a transmitter and receiver are surrounded by
objects which reflect and scatter the transmitted energy,
causing waves to arrive at the receiver via different paths. This
is multipath propagation. If the signal between transmitter and
receiver is blocked, this is called non-line-of-sight (NLOS)
propagation.
Consequently, the magnitude of a complex Gaussian randomvariable is a Rayleigh distributed random variable. The
Rayleigh distribution is approximation to measured fading
amplitude statistics for mobile fading channels in NLOS
situations [14].At Ricean channel model, the received signal is associated
with a random multipath component in the LOS situation,
whose amplitude is described by the Rayleigh distribution with
a constant power to cause a coherent LOS component. The
power of this component will usually be greater than the total
multipath power before it needs to be considered as affectingthe Rayleigh distribution significantly [14].
IV. GUI EDITOR
For the implemented demo application tool, MATLAB GUI
editor is designed as shown in Fig. 6. In the GUI, an image file
is chosen from the popup menu that entitled Original Picture
under Decoding Parameters and then shown on the axis that
is located on left side of the editor. After that any decoding
algorithm is marked using radio buttons located top-left side of
the GUI. Convolutional coding/decoding parameters (i.e.,
transmitting channel, SNR value, code rate, constraint length,
and iteration number for Turbo coding) are selected from
popup menus. When Transmit button is clicked with these
settings, the received image obtained is shown with the BER
result at the top-right side of the editor. These operationsexplained are relevant for only one decoding algorithm. In
order to compare BER results of all decoding algorithms for aspecific SNR value, we must use Comparison Manner popup
menu and then click on the Compare button. Besides, the
demo application enables comparison of an image file
transferred in terms of BER results obtained for different
decoding algorithms varying the SNR values through its
Comparison Manner popup menu.In order to examine BER performance results of an image
transferred with a certain convolutional coding technique
according to varying SNR values, Comparison Manner
popup menu is set to According to SNR option and
Compare button is pressed in the GUI editor. An examplescenario with its visibly comparable results illustrating thisapplication is shown in Fig. 6, Viterbi soft decision decoding
algorithm is utilized for transmitting an image on AWGN
channel in this scenario. The image to be transferred is formed
in 1024 frames, each consisting of 512 bits.
Fig. 6. BER results for different SNRs with Viterbi
soft decision decoding algorithm.
In Fig. 6, the image transmission is performed for SNR
values of 0, 1, 2, 3 and 4 dB. Obtained results show that,Viterbi soft decision decoding algorithm achieves better BER
performance with increasing SNR values. The relation between
BER and SNR is indicated with a graphic on the right side of
the GUI editor. The BER performance results of the example
scenario for all decoding algorithms are demonstrated in Fig. 7,the BER results of the image transferred are 2x10-4, 5.7x10-6,
and 0 for Viterbi, SOVA, and Log-MAP algorithms
respectively, as shown on the center bottom of the GUI editor.
In addition to these example applications and their results, it
should also be mentioned that according to the computational
complexity, Log-MAP algorithm is simpler than SOVA
algorithm. For example, considering 5 iterations, Log-MAP
decoding algorithm has 20 times and SOVA algorithm has 2times more complexity than Viterbi algorithm.
Fig. 7. BER performances according to the decoding algorithms.
8/3/2019 Convolution Paper
5/5
V. CONCLUSIONS
In this study, it is intended to teach convolutional codingtechniques with different decoding strategies, and in this
context, a MATLAB GUI editor application has been
implemented. In order to demonstrate and teach comparative
performance evaluation of Viterbi decoding algorithms and
Turbo decoding algorithms for various propagation channel
models, an example image transfer application is implementedthrough the proposed demo program.
Using this demo application tool, students can easily and
visually drive the conclusions that according to the simulation
results obtained under the same networking conditions, for
example, Turbo decoding algorithms provide better BER
performance when compared to Viterbi decoding algorithms,
especially for increasing SNR values (e.g., when SNR value is
4 dB and AWGN channel model, approximately 100 times
better BER results are obtained using Turbo decoding
algorithms).
It should be also noted that a fairly high computational
complexity is required for Turbo code decoding and this can be
understood with long simulation periods. The SOVAcomponent decoder is approximately two times as complex as
the Viterbi decoder. Turbo code decoding involves two SOVA
component decoders; thus, one iteration of a Turbo code
decoding requires complexity as much as four times that of the
Viterbi decoder. Therefore, the complexity of the Turbo code
decoder dramatically grows as the number of decoding
iterations is increased. The demo application presents the
delaying effect of computational complexity while producing
the BER results and showing the transferred image as well.
[1] A. Calhan, C. Ceken, I. Erturk, Comparative Performance Analysis ofForward Error Correction Techniques Used in Wireless
Communications, 3rdInternational Conference on Wireless and Mobile
Communications, ICWMC 2007, French Caribbean, pp. 6369, 49
March 2007.
[2] J. Daniel, JR. Costello, Error Control Coding, Fundamentals and
Applications,Prentice Hall, New Jersey, 1983.
[3] A. Calhan, Comparative Performance Analysis of Convolutional
Coding Techniques for Wireless Communications, M.Sc. Thesis,
Kocaeli University, Turkey, 2006.
[4] K. M. S. Soyjaudah, M. T. Russool, Comparative study of turbo
codes in AWGN channel using MAP and SOVA decoding,
International Journal of Electrical Engineering Education,
Volume 38 Issue 2, pp 103116, April 2001, (Manchester University
Press, Manchester, 2001).[5] J. G. Proakis, Digital Communications, 3rd ed., New York, McGraw-
Hill, 1995.
[6] J. Hagenauer and P. Hoeher, A Viterbi Algorithm with Soft-Decision
Outputs and Its Applications, GLOBECOM 1989, Dallas, Texas,
pp. 16801686, Nov. 1989.
[7] S. B. Wicker, Error Control Systems for Digital Communication and
Storage, New Jersey, Prentice Hall, 1995.
[8] C. Berrou, P. Adde, E. Angui and S. Faudeil, A Low Complexity
Soft-Output Viterbi Decoder Architecture, ICC 1993, Geneva,
Switzerland, pp. 737740, May 1993.
[9] M. Kouraichi, O. B. Belghith, A. Kachouri, L. Kamoun, Evaluation
of SOVA Algorithm in Turbo Code,IEEE Proc., pp. 659663, 2004.
[10] L. R. Bahl, J. Cocke, F. Jelinek, and J. Raviv, Optimal Decoding of
Linear Codes for Minimizing Symbol Error Rate, IEEE Trans.
Inform Theory, Vol. 20, pp. 284287, March, 1974.
[11] P. Robertson, E. Villebrun, and P. Hoeher, A Comparison of Optimal
and Sub-optimal MAP Decoding Algorithms Operating in the Log
Domain, Proc. IEEE Int. Conf. Commun., pp. 10091013, June
1995.
[12] A. J. Viterbi, An Intuitive Justification and a Simplified
Implementation for the MAP Decoder for Convolutional Codes,
IEEE Journal Selected Areas Commun., Vol. 16, pp. 260264, Feb.
1998.
[13] S. S. Pietrobon, Implementation and Performance of a Turbo/MAP
Decoder, Intl. J. Satellite Communications, Vol. 15, pp. 2346, Jan-
Feb 1998.
[14] S.R. Saunders, A.A. Zavala, Antennas and Propagation for WirelessCommunication Systems, 2. ed., Wiley, 2007.