Convolution Paper

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.