Effect of Wireless Channel Parameters on Performance of Turbo

advertisement
Advances in Electrical Engineering Systems (AEES)
Vol. 1, No. 3, 2012, ISSN 2167-633X
Copyright © World Science Publisher, United States
www.worldsciencepublisher.org
129
Effect of Wireless Channel Parameters on Performance of
Turbo Codes
1
Nabeel Arshad, Muhammad Ali Jamal, Dur E Tabish, Saqib Saleem
Department of Electrical Engineering,
Institute of Space Technology, Islamabad, Pakistan
Email: 1nabeel.cse07@gmail.com
Abstract -- For large block lengths, turbo codes offer reticent decoding complexity as compared with the other codes. In
this paper, performance of turbo codes is evaluated. Two algorithms which have been used are RSC encoder for encoding
and Viterbi Algorithm for decoding. Simulations are conducted on MATLAB using BPSK and QPSK modulation schemes.
Our main objective is to compare the performance of turbo codes using soft decision and hard decision decoding and also
for different code rates in terms of BER. Similarly, it is also shown that with the help of turbo codes, the performance for
multipath fading channel can be improved. To check the performance and complexity, channel impulse Response (CIR) and
channel taps are used.
Keywords -- Recursive Systematic Convolutional Viterbi Algorithm; Soft decision; Hard Decision; Channel Impulse
Response; Channel Taps.
1. Introduction
Channel coding refers to the class of signal communication
designed to improve
communication performance by
enabling the transmitted signal to better withstand the effect
of various channel impairments such as noise, interference
& fading. This performance is bounded by the Shannon
limit. Turbo codes were the first practical codes to closely
approach the channel capacity. Application which
integrates the turbo codes into the standard are mobile
communication, wireless network, and local radio loops,
deep space communication, data storage, cable
transmission.
Turbo codes are a class of high-performance forward error
correction (FEC) codes developed in 1993 by Berrou,
Glavieux, and Thitimajshima. Prior to turbo codes the best
construction was convolution codes. Convolution codes
differ from block in the sense that, they do not break the
message stream into fixed-size blocks. Instead, redundancy
is added continuously to the whole stream. In convolution
codes an m-bit information symbol to be encoded is
transferred into an n-bit symbol.
The n code digits generated by the encoder depend on the
block of ‘m’ message digits and also on the block of data
digits within previous span of N-1 units. Turbo codes
consist of parallel concatenation of two convolution codes
with a random interleaver between the encoders. It uses
recursive codes & iterative soft decoder. Recursive coder
makes convolution codes with short constraint length
appear to be block codes with a large block length, and the
iterative soft decoder progressively improves the estimate
of the received message.
In the designing of turbo code the interleaver is the
essential part. The interleaver scrambles the bits in a
pseudo-random order.
The paper explains the configuration of both turbo encoder
& decoder, and how the channel parameters affect its
performance.
2. System Model
2.1 Turbo Encoder
In turbo encoder, a number of RSC encoders are connected
in parallel as shown in the figure 2. After passing through
the interleaver, input sequence is fed towards the input of
2nd encoder. So, output from encoder 1 and encoder 2 are
time displaced code words generated from the same input.
The outputs , and can be multiplexed to give a code
rate of 1/3. If we want to raise the code rate say ½ then
puncturing can be used.
2.2 Recursive Systematic Convolutional (RSC)
Encoder
Turbo codes
convolutional
encoders are
encoder and
convolutional
are designed by using particular types of
codes. In Fig.1, two types of convolutional
shown. The one on the right side is RSC
one on the left side is a non-systematic
(NSC) encoder [2].Each encoder has code
Nabeel Arshad, et al., AEES, Vol. 1, No. 3, pp. 129-134, 2012
and outputs
rate of ½, single input
constraint length 3.
and
130\
with
2.3 Interleaver
As shown in the Fig.1 input sequence is fed to the second
encoder after passing through interleaver. For turbo codes,
pseudorandom interleaver is preferred. As shown in Fig.1
we will have two code words from two encoders
simultaneously.
For turbo codes, the free distance between these two code
words has to be maximum [3]. Two consecutive code
words with low weight should be avoided. To increase the
distance between code words interleaver is a good choice.
Figure 1. Turbo Encoder
Figure 3. Functioning of Interleaver
In Fig.3, it is shown that how an interleaver works. Where
A is an input sequence and C1 and C2 are corresponding
code words. A1 is input sequence after passing through the
interleaver. In turbo codes, mostly pseudorandom
interleaver is preferred.
Table 1. Input and Output Sequences
Input
Output
1010
1001
1010
1001
Output
1100
1110
Weight of
code word
4
5
Figure 2. NSC and RSC Encoders
The RSC encoder differs from the convolutional encoder in
that the bits which have been encoded before are fed back
to the input of the encoder continuously. This type of
convolutional encoder has the advantage that apparent
length of the message can be increased without changing
the constrain length. This type of convolutional code is
systematic because input sequence also appears at the
output. So, they are known as recursive systematic
convolutional coders. It is an infinite impulse response
filter. RSC coders provide better error performance at every
value of Eb/No. There are two code generators G1=
and
G2=
. Where =0, 1 and
=0, 1. Here
is
calculated by the formula
́
Where, ́ =
if
=
and ́ =
2
if
= .
From Table 1, it is clear that weight of the code- words
increased by employing an interleaver in the system. In this
way performance of turbo codes improves significantly.
2.4 Decoding Block
2.4.1 Viterbi Algorithm
Shortest path through trellis linked with code is determined
by the Viterbi algorithm. This algorithm is applied in many
communications problems like in the presence of intersymbol interference maximum likelihood sequence
estimation [4]. Encoded bits
, , … . . ! are applied at
decoders input. Decoder then finds out a guess of the
transmitted data " , " , … . . . ! and from thata guess of the
input sequence.
In this algorithm, an encoded bit stream
, , … . !matches
to a path through encoder trellis. But because of the
Nabeel Arshad, et al., AEES, Vol. 1, No. 3, pp. 129-134, 2012
131\
presence of the noise in channel, there will be some errors
in received sequence and its path will differ through trellis.
The job of the decoder is to find the path most closely to the
received sequence. Here the term “closest” is found out by
the likelihood function suitable for channel.
For an AWGN channel, the maximum likelihood path is the
path through the trellis closest in Euclidean distance to
received sequence. While in the presence of a BSC, the
maximum likelihood path is the path through the trellis
closest in Hamming distance to received sequence.
The likelihood function which is to be maximized is
# $| , where ‘v’ is the received sequence and ‘u’ is the
input sequence.
F $|
# $& ' | & '
#($&, $ , $ , … … , $' ) & , ,
∏', - # $, |
,
,……,
'
*
Since the channel is memoryless and it is assumed to get
the last quantity. It is better to use log likelihood functions
'
log # $|
, -
log # $, |
,
Now consider a sequence ,
,……, , !
&,
leaving the encoder. This sequence will define the path for
code through trellis and we denote it as∏, or ∏, & ,
and for this sequence loglikelihood function is given by
log # $& , |
-
,
,
-
log # $ |
1, 6
3
-
,
-
log # $ |
2 3
# $, |
3
# $, |
,
-
*And1,
9 ,:
log # $ |
1,
2 3
22
, ($, ,
9 ,:
*
Now the basic principle of this algorithm is that “to select
the shortest path through trellis”. So, whenever there are
two paths, we will select the one having shortest path
metric and other one will be eliminated. That is
1, 6
AB C1,
21
, ($, ,
9 ,:
, ($, ,
9 ,:
*D
*, 1,
22
Path with the minimal path length becomes the path to next
state say q, this path is called the survivor path.
At time 4 E F, we are not sure about the final path that
passes through the trellis. So this algorithm does the
followings
At time t, a path metric for each state.
At time t, a path to each state.
Suppose our input symbol consists of G sub carriers and
having symbol duration T. The spacing between these sub
H
carriers will be and denotes the sampling period. If the
H
I
data on the ,J sub carrier is K ,L in the A ,J symbol.Then
signal that will be transmitted is given
I
∞
$ 4
Where
M ,L
L -
OPQR
D(, HT
S
NC
K ,L M ,L 4
HU *
= V 4 3 AWX 3 V 4 3 A
,
Suppose , $, , ,
# $, | , indicates the negative log
likelihood for this particular input. We can equally
use , $, , ,
783 #($, ) 9,: * 3 "; for any a>0. The
term , $, , , is called the branch metric.Since the input
has moved from state P to state q so we wrote the
expression , $, , , like ,(<= )> ?,@ * . So
, ($, ,
log 1,
1, 6
21
∞
3
,
1,
3. Channel Model
Suppose 1, 2
3
$& , | & , indicates the path
metric through trellis prescribed by the sequence & , and
2 denotes the terminating state. Negative sign indicates that
we want to minimize the path metric.
Now suppose the sequence & ,
, … … , , ! is
&,
obtained by affixing the input & , to & , and also assume
that state at time 4 1 is 6. The path metric for this one is
given by
,
So, the path metric at time t is calculated by adding the path
metric at time 4 3 1 to the branch metric at time4.
But we can encounter a situation in Viterbi algorithm when
two paths merge. What we will do then?? Suppose
1, 21 is the path metric of a path for state at time t and
similarly1, 22 is the path metric at state 2 at time 4
and both of them are terminating to state 6 at time4 1.
The equivalent path metrics to state q are
#($, )
9,:
*
1 WX
In above equations, WY denotes the guard time interval in
order to avoid interference and total Symbol duration is
given byWX WY W. In our case, signal has been passed
through multipath channel represented by
Z 4, [ =∑',
-
] ^ 43[ In above expression,] represents time varying gain which
have complex Rayleigh distribution. For the A ,J multipath,
Nabeel Arshad, et al., AEES, Vol. 1, No. 3, pp. 129-134, 2012
time delay is represented by [ and total number of
multipath is denoted by F.
Once the signal has been passed through the fast fading
multipath channel, received signal will be
'
_ 4
, -
] ^ 43[
B 4
if we consider the frequency domain then received signal
on the `,J sub carrier of the ,J symbol is given by
aX,b KX,b . cX,b 1X,b
132\
3.1.3 Modified LMMSE channel Estimation
When the size of input data X is very large, then
complexity of LMMSE increases with the calculation of S
matrix. Suppose we have L taps and we consider the taps
having significant energy. Then gJJ becomes an L x L
matrix resulting in modified LMMSE given below [6]
ZfLLmn
WoWj kj _
In above expression T denotes the matrix having first L
columns of DFT matrix F and o is given by
In above expression, c denotes the channel frequency
response. c is the DFT of the channel impulse response
Z 4, [ .
Where gJJ̀ is the left upper F y F matrix ofgJJ .
3.1 Channel Estimation Algorithms
3.1.4 Robust LMMSE Channel Estimation
3.1.1 LMMSE Channel Estimation
Due to time varying surrounding conditions, the behavior of
the channel also get affected. Channel’s PDP in such
conditions is difficult to find out. If it is supposed that all
PDP’s have same delay, then a channels co variance matrix
with identical PDP’s give improved performance.
Suppose we have an AWGN channel having variance de ,
we passed our signal through this channel. Then estimation
vector Z for LMMSE is Zf gJh ghh _
where gJh
gJJ ij k j and ghh kigJJ i j k j de lI
In above expressions gJh = cross co variance vector between
Z and _ and ghh is the auto covariance vector of_. To
achieve minimum MSE these co-variances should be
positive.
In frequency domain, channel estimate is obtained by
taking the DFT of Zfgiven by
ZfLLmn
iZf
ioi j k j _
Here F represents the orthonormal DFT matrix and S is
given by
o
gJJ i k ki
j
j
de gJJ
i k ki
j
j
3.1.2 Low Complex LMMSE Channel
In LMMSE channel estimation, we require inversion of a
large matrix. When input data say X changes and inversion
of matrix is required recursively, the complexity of
LMMSE increases. If the same modulation is considered
for each symbol, then input data’s average is given by
K kk j
=K p p
qr
And estimation of low complex LMMSE is given by [2]
ZfLLmn = gJJ gJJ
s
tuv
l
k
_
Where w depends upon modulation technique, that is being
used for symbol.
o=gJJ kj Wj kW
de
gJJ́
k j W j kW
3.1.5 LSE channel Estimation
In conditions like real time, it is not possible to get prior
information about channel and amount of noise embedded
by it. To cope up with this situation, we design a filter
which is function of input data only. No assumptions are
required for this channel. LSE estimation of channel vector
h is given by
Zz{m
Where
io{m i j k j _
o{m
i j k j ki
We can represent Zz{m by
Zz{m
k
_
3.1.6 Modified LSE Channel Estimation
As far as complexity is concerned, we can say that LSE is
less complex. But with the addition of channel taps with
high energy, we can improve the performance. So the
modified LSE estimator is denoted by
Zz{m Wo{m Wj| kj _
Where
o|{m
W j k j kW
3.1.7 Regularized channel Estimation
Nabeel Arshad, et al., AEES, Vol. 1, No. 3, pp. 129-134, 2012
By the use of Eigen values, the inversion of matrix can be
simplified. To do so, we add a constant term to its diagonal
elements. Now the matrix o{m can be written as
o}nY,{m
]l
133\
10
10
i j k j ik
10
BER
Value of ] is selected in such a way that the matrix o}nY,{m
can be made least perturbed.
10
4. Simulations
10
This section contains the MATLAB simulation results. The
performance of the prescribed coding scheme is evaluated
in terms of BER/ bits in error. The modulation schemes
used in these simulations are PSK and QPSK. The BER
plots for soft vs hard decision decoding, different coding
rates are discussed. The comparison of coded and un-coded
data over Rayleigh fading channel, for different channel
lengths and channel taps in relation to performance and
computational time is evaluated. In Fig.4, performance of
turbo codes is shown for soft decision decoding and hard
decision decoding. It is quite apparent from the graph that
soft decision decoding provides better error performance as
compared with the hard decision decoding.
For example for BER of 10 • hard decision decoding
€
provides • of 8.7 dB while for same BER soft decision
u‚
decoding provides
ۥ
u‚
of 6.8 dB. So soft decision decoding
10
10
BER vs. Eb/No with code rate 1/3 and 2/3
-2
-4
-6
-8
-10
-12
-14
0
1
2
3
4
5
10
10
BER
10
10
10
10
10
10
9
10
11
u‚
for un-coded data it is >10 .
Turbo Codes Vs Uncoded Data
Un-Coded Data
Turbo Codes
Soft Vs. Hard Decison
-2
-3
-4
2
-5
BER
10
8
In Fig.6, comparison is made between un-coded data and
data which we had passed through turbo encoder and
decoder using Rayleigh multipath fading channel. It is clear
in the graph that data which has not been coded suffers
more errors while the one which has been passed through
turbo encoder and decoder experiences less errors.
€
For • of 9.5 dB turbo codes provide BER near 10- while
10
10
7
Figure 5. Comparison between different Code Rates
is providing coding gain of 1.9 dB.
10
6
Eb/No (dB)
-6
-7
-8
10
1
-9
-10
-11
0
1
2
3
4
5
SNR(dB)
6
7
8
9
10
-12
0
1
2
3
4
5
6
7
8
9
10
11
Eb/No (dB)
Figure 4. Soft Vs. Hard decision Decoding
In Fig.5, the performance of turbo codes for code rate 1/3
and 2/3 are shown. It is clear from Fig.5, that performance
of turbo codes degrades as we increase the code rate. It is
clear that by increasing the rate, SNR is increasing with
reduction in BER.
Figure 6. Un-coded data Vs coded data over Rayleigh fading channel
Fig.7 shows the response of turbo codes for different
numbers of channel taps. It is clear from the Fig.7, that by
increasing the channel taps, performance of the system
degrades. That is BER will increase with increase in
number of multipath channel taps. But complexity of the
system also increases.
5. Conclusion
Nabeel Arshad, et al., AEES, Vol. 1, No. 3, pp. 129-134, 2012
134\
In this paper, performance of turbo codes is evaluated by
varying the code rate, using different types of decoding i.e.,
soft Vs. Hard decision. It has been deduced, that soft
decision decoding provides better performance as compared
with hard decision decoding. And increasing the code rate
will degrade the performance. Secondly performance is also
evaluated by varying different parameters of Rayleigh
channel like channel taps and channel length. It has also
been deduced that by increasing the channel taps the error
performance reduces. Turbo codes show remarkable power
efficiency in AWGN & flat fading channel for moderately
lower BER .But the long latency & poor performance &
lower BER leaves room for more improvement in the field
of turbo coding. Since turbo codes operate at very low SNR
so channel estimation & tracking is a critical issue. Fig.8
shows that by increasing the channel length the
performance of turbo codes gets better.
Response of Turbo Coddes for Varying Length of Channel
64 samples
30 samples
2.71
10
2.69
10
2.68
10
0
12 channel taps
9 channel taps
2.71
10
1.
2.7
2.69
10
2.
2.68
10
BER
3.
2.67
10
4.
2.66
10
5.
2.65
10
6.
2.64
10
2
3
4
5
SNR(dB)
6
2
3
4
5
SNR(dB)
6
7
8
9
10
References
10
1
1
Figure 8: Performance of Turbo Codes for varying length of Channel
BER Vs SNR for diffrenet Number of Channel Taps
2.72
10
0
2.7
BER
10
7
8
9
10
7.
Figure 7. Performance of the Turbo Codes with different Channel Taps
8.
9.
R.S Bansode, M. Mangrulkar, “ Performance comparison of BER for
different Code Rates in Wireless Data Transmission”, International
Conference and Workshop on Emerging Trends in Technology
(ICWET-2011).
Bernard Sklar, “Digital Communications Fundamentals and
Applications”.
Shuai Shi, “Development of System for Teaching Turbo CodeForward
Error Correction Techniques”, June 2007
Todd K. Moon, “Error Correction Coding Mathematical Methods and
Algorithms”.
Claude Berrou, Alan Gravieux, “Near Optimum Error Correcting
Coding and Decoding”, IEEE Transactions on Communications, Vol.
44 No.10, October 1996
Saqib Saleem, Qamar-ul-Islam, “Performance and Complexity
Comparison of Channel Estimation Algorithms for OFDM systems”,
International Journal of Electric & Computer Sciences IJECS-IJENS
Vol. 11 No: 02
Xiao-Jun Yang, “Generalized Local Fractional Taylor’s Formula with
Local Fractional Derivative”, Journal of Expert Systems (JES), Vol.1,
No.1,pp-26-30, 2012
Xiao-Jun Yang, “The Discrete Yang-Fourier Transforms in Fractal
Space”, Advances in Electrical Engineering Systems, Vol.1, No.2,
June 2012
S.Hassan, A.Raza, H.Qayyum, S.Saleem, T.Mehmood, “2.4 GHz
Transceiver Design using ADS”, Journal of Expert Systems (JES),
Vol.1, No.2, pp-37-43, 2012
Download