Performance Improvement of Coded OFDM Communication … · Performance Improvement of Coded OFDM...
Transcript of Performance Improvement of Coded OFDM Communication … · Performance Improvement of Coded OFDM...
International Journal of Computer Applications (0975 – 8887)
Volume 110 – No. 11, January 2015
17
Performance Improvement of Coded OFDM
Communication System in AWGN Channel
Marwa Abdelfatah Abdeltwab Instructor, Dept. of EECT,
Modern Academy in Ma'adi, Egypt
K.A. ElBarbary Professor and Head of Electric Engineering Department, Suez
Canal University, Egypt
Adel Elhenawy Professor, Dept. of Electrical Communication, Ain Shams
University, Egypt
ABSTRACT
OFDM (orthogonal Frequency Division Multiplexing) is a
basic element in the 4G mobile system. The OFDM
performance can be improved using the channel coding. The
channel coding is a class of signal transformations designed to
improve communication system performance.
The work presented in this paper discusses the performance
improvement of OFDM communication system using
different channel coding techniques through AWGN channel
model. These coding techniques include Reed Solomon
coding, Convolutional coding, Concatenated coding (by
combining Reed Solomon with Convolutional), and
Interleaved concatenated coding techniques. Besides, a new
algorithm produced to choose a good convolutional encoder
design for a certain rate and memory registers.
Keywords
OFDM, AWGN, Channel Coding, Reed Solomon,
Convolutional, Interleaver.
1. INTRODUCTION In recent years Orthogonal Frequency Division Multiplexing
(OFDM) has gained a lot of interest in digital communication
application. This has been due to its important features like
robustness to multipath fading channel and high spectral
efficiency [1, 2, 3]. OFDM is used in many digital
applications as digital audio broadcasting (DAB), digital
video broadcasting (DVB), Wireless Local Area Networks
(WLAN), and other high speed data application for both
wireless and wired communications [1,3].
OFDM overcomes most of the problems with older multi-
channel systems that use FDMA and TDMA. OFDM splits
the available bandwidth into many narrow band channels. The
carriers for each channel are made orthogonal to each other,
allowing them to be spaced very close together, with no
overhead in guard spacing between bands as in the FDMA
technique, and there is no great need for users to be time
multiplex as in TDMA, so that there is no overhead associated
with switching between users. As each band is narrow, the
symbol rate is low that limits the problem of multipath delay
spread [4].
The channel coding is used to improve the performance of un-
coded OFDM systems. There are many types of coding
technique that used in OFDM as block code and convolutional
code [5]. The concatenated code is a coding technique that
uses two or more different codes to provide a large coding
gain with less implementation complexity [6]. The interleaved
concatenated code is the concatenated code with the use of an
interleaver between the two coding techniques to achieve
better improvement in the system performance [7].
The rest of the paper organized as follow:
Section 2 shows the concept of OFDM system. Section 3
shows the concept of different types of channel coding
techniques that can be used in OFDM, including Reed
Solomon, Convolutional, Concatenated, and interleaved
concatenated codes. Section 4 shows the BER performance of
uncoded and coded QPSK-OFDM over AWGN channel.
The simulation results presented in this paper demonstrate the
advantage of systems with error control coding over uncoded
system performances in terms of the coding gain.Finally
Section 5 concludes the paper.
2. OFDM CONCEPT Orthogonal Frequency Division Multiplexing (OFDM) is a
communication technique that divides the available bandwidth
into a number of equally spaced frequency bands. Each band
has a subcarrier that carries a portion of the user information.
Each subcarrier is orthogonal to each other, allowing
overlapping between the bands without interference between
them, and also cause saving of bandwidth as referred in Fig 1
[1, 8, 9].
Fig 1: Saving Bandwidth using OFDM
Each carrier in an OFDM signal has a very narrow bandwidth;
so that the resulting symbol rate is low (symbol time is large).
This will give the signal a high tolerance to Multipath delay
spread, because the delay spread must be very long to cause
significant inter-symbol interference, and in order to totally
eliminate ISI, OFDM employs a cyclic prefix which increases
the length of the symbol period so that it is much greater than
the delay spread of the channel [3, 4].
Fig 2 below shows the block diagram of an OFDM system
[10].
Fig 2: OFDM General Block Diagram
International Journal of Computer Applications (0975 – 8887)
Volume 110 – No. 11, January 2015
18
The input data is first passed to the forward error correction
(FEC) encoder to improve the system performance by adding
redundant bits to the data. The coded signal is then sent to the
modulator where the bits are mapped to symbols, which is
represented in in-phase and quadrature (IQ) format.
The IFFT is then used for modulating the constellation
mapped data onto the orthogonal subcarriers. The IFFT
generally takes N symbols at a time where N represents the
number of subcarriers in the system. Since the basis functions
for an IFFT are N orthogonal sinusoids, all subcarriers will be
orthogonal [10]. S/P and P/S converters used to adjust the
format of the data depending on the input of the next block.
Finally a cyclic extension is added, and transmits through the
channel.
3. CHANNEL CODING Channel coding is the transformation of the signal in a certain
designed method to enable the transmitted signals to better
withstand the effects of various channel impairments such as
noise, interference and fading [5].
3.1 Reed Solomon Code Reed Solomon (RS) codes are nonbinary cyclic codes with
symbols made up of m-bits sequences. The most conventional
RS code with (n, k) = (2m-1, 2m-1-2t) with dmin= n-k+1 [5].
Where k: number of data symbols, n: number of code
symbols, m: number of bits in each symbol.
The RS encoder take k data symbols and add 2t redundant
symbols to produce n code symbols where each symbols
contain m bits [11]. The RS decoder has 2t redundant symbols
which are twice the amount of correctable errors t, as for each
error, one redundant symbol is used to locate the error and
another redundant symbol is used to find its correct value [5].
The RS encoding process for the message word m(x),
involves the following steps:
1. Generate the generating polynomial:
G(x) = g0+g1x+g2x2+……+g2t-1x
2t-1+x2t
2. Generate the parity polynomial:
P(x) = xn-km(x) modulo G(x)
3. The required codeword polynomial will be:
U(x) = P(x) + xn-km(x) [5]
RS codes are designed to deal with the burst errors. As RS is a
nonbinary code, it works with symbol based arithmetic rather
than bit based arithmetic so that it can be configured with long
block length (in bits) and large dmin with less decoding time,
but this increase the complexity [5].
Shortening is performed to improve the performance of the
RS code. It done by fixing the rate (k/n) and reduce both the
message length (k) and the codeword length (n), so it have the
same redundancy and the same error correcting capability as
the original code but with less complexity, less decoding time
and sometimes less power consumption. It is implemented by
appending a certain number of zeros to the information
message at the input of the original encoder then discarded
these added zeros after the coding procedure [12].
3.2 Convolutional Code A general convolutional encoder consists of k shift registers
and n modulo-2 adders as shown in Fig 3 [5].
Fig 3: Convolutional Encoder
The message bits are shifted into the encoder one bit at a time,
and the outputs of the n adders are sequentially sampled and
transmitted, so that there are n code bits for each message bit
and the code rate is 1/n [5] . So, the output sequence is
function of both the current input bit and the k-1 previous bits
[13]. The convolutional decoder uses the viterbi algorithm
that is optimal as it performs maximum likelihood decoding.
It reduces the computational load by taking the advantage of
the special structure of the code trellis. As the trellis diagram
represents the rules of the game as it describes all possible
transitions and their corresponding state and finish states, so
the error path must follow one of the allowable transitions. So,
there are constraints in the encoding process, which cause the
decoder to more easily meet good error performance using
less Eb/No [5].
The choice of connection between the adders and the registers
in convolutional encoder provides a certain characteristics to
the code. These connections are not chosen arbitrary, it must
be chosen to yield good distance properties of the code, and it
found by computer search for all possible connection to find
the best. [5]
.The puncturing technique is used to improve the
performance of a convolutional code, it obtained by
puncturing or eliminating some outputs of the convolutional
encoder. This technique increases the rate of the code and
reduces the decoding complexity and time, but it reduces the
distance of the code so reduce the error correcting capability
of the code. [14]
3.3 Concatenated Code A concatenated code is a very useful technique that leads to
construct a powerful code that can provide large coding gain
with less implementation complexity [10]. A big, powerful
code with high BER performance can be constructed in an
equivalent concatenated form by combining two or more
codes of relatively small size and complexity to provide the
same performance with less complexity, and decoding is done
by combining two or more relatively low complexity decoders
instead of a complex decoding of a big code [7].
3.4 Serial Concatenated Code In a serial concatenated code, a message block is first encoded
by the first code, normally called the outer code, then the
output from the first code encoded by the second code,
usually called the inner code. The decoding process operates
in two stages: first performing the decoding of the inner code
and then the decoding of the outer code. The decoding
complexity decomposed into these two decoders is much
lower than that of the direct decoding of the whole code as
shown in Fig 4 [7, 15].
The concatenation between two codes will yield a new code
with the following parameters:
The length = n1*n2
The minimum distance <= dmin1*dmin2
International Journal of Computer Applications (0975 – 8887)
Volume 110 – No. 11, January 2015
19
The rate = R1*R2 [7, 15]
Where: the inner code has length n1, minimum distance dmin1,
and rate R1, and the outer code has length n2, minimum
distance dmin2, and rate R2.
Fig 4: Serial Concatenated Code
3.5 Interleaved Concatenated Code Interleaving is a technique that takes a given sequence of
symbols and permutes their positions and arranging them in a
different temporal order. Interleavers are used against burst
errors, so it is designed to convert error patterns that contain
long sequences of serial erroneous data into a more random
error pattern, so distribute errors among many code vectors,
Burst errors are characteristic of some channels, like the
wireless channel, and they also occur in concatenated codes,
where an inner decoder overloaded with errors can pass a
burst of errors to the outer decoder [7]. Fig 5 represents
interleaved concatenated code.
Fig 5: Interleaved Concatenated Code
4. THE PERFORMANCE OF OFDM
SYSTEM IN AWGN CHANNEL This section includes the BER performance of uncoded and
coded OFDM over AWGN channel.
The OFDM system parameters used according to IEEE Std
802.16.1a-2013. The modulation technique is QPSK, FFT
length equals 1024 and the cyclic prefix (CP) length equals
1/8 of the symbol length [16]. The performance of the system
is determined by the relation between bit error rate (BER) and
bit energy to noise ratio (Eb/No). Assume that, the desired
quality of transmission is BER = 10-4 and the objective is to
achieve this BER with the minimum power as possible.
4.1 The BER Performance of uncoded
OFDM The BER performance of the uncoded OFDM system over the
AWGN channel can be represented theoretically by
theoretical BER for QPSK equation:
BER=0.5*erfc ( Eb/No) [10]
And also can be represented practically by simulation as
shown in Fig 6.
Fig 6: Theoretical and Practical Uncoded OFDM
From Fig.6, the desired BER which is 10-4 achieved in the
uncoded OFDM at Eb/No = 8.2 dB. So the target is to achieve
the same quality of transmission but at lower power level.
4.2 Uncoded OFDM versus coded OFDM This section discusses the performance improvement for
OFDM system using different channel coding techniques.
4.2.1 Reed Solomon coded OFDM
4.2.1.1 The Performance of RS Codes Depends on
the Redundancy and the Codeword Length This section shows the performance of Reed Solomon code
through AWGN channel model, by changing the codeword
length and keeping the code rate with the optimum value
which assumed to be 0.7 as mentioned in reference [5].
Fig 7: Reed Solomon coded OFDM with Different Lengths
According to Fig 7, the RS coded system performance
improved with increasing its codeword length. So the best
performance achieved with RS (255,179) which achieve the
desired BER at Eb/No = 5.5 dB, so achieve approximately 2.7
dB as coding gain. Coding gain refers to the saving in Eb/No
due to the used coding technique.
4.2.1.2 Shortened RS Coded OFDM From Fig 8, the shortened RS code, which have
approximately the same rate as the original code, will result
approximately the same bit error performance, it provides the
desired BER at the same power level that as the original code,
besides reducing the complexity and decoding time.
International Journal of Computer Applications (0975 – 8887)
Volume 110 – No. 11, January 2015
20
Fig 8: Shortened RS Coded OFDM
4.2.2 Convolutional coded OFDM In the simulation of OFDM using convolutional coding
technique, there are two an extra points must be discussed:
4.2.2.1 A New Method to Input the Data to the
Convolutional Encoder In the normal way, the input data enters to the convolutional
encoder, then at the decoder, There exist a trace back delay
which is a delay that the decoder need to create the complete
view about the trellis diagram that used in the decoding
process, and after this trace back delay, the decoder begin to
output the decoded data. So, due to this delay the decoded
data contains number of zero bits at the first, which equal to
the trace back length in bits, followed by the decoded data that
refers to the original data, but with missing of the last number
of bits in the original data. So the decoded data will be the
original data with missing of some bits.
For example with convolutional code with 1/n=1/2 and K=3
and generator polynomial [7, 5] with a trace back delay =3:
msg_entered_to_encoder =
1 0 1 1 1 0
encoded_msg =
1 1 1 0 0 0 0 1 1 0 0 1
decoded_msg =
0 0 0 1 0 1
In the new method, the input to the encoder will be the input
data followed by number of zero bits equal to the trace back
delay length. So that, at the decoder with certain trace back
length, after the trace back delay the decoded data will contain
firstly number of zero bits equal to delay length, followed by
the decoded data that refer to the original data without any
missing in the original data but ignoring the last bits in the
data which is the previously added zero bits. So that, with this
new method, the whole original data will appear in the
decoded data without missing. For the same previous
example, by adding 3 zero bits to the data that enter to the
encoder:
msg_entered_to_encoder =
1 0 1 1 1 0 0 0 0
encoded_msg =
1 1 1 0 0 0 0 1 1 0 0 1 1 1 0
0 0 0
decoded_msg =
0 0 0 1 0 1 1 1 0
In the simulation, because of the number of transmitted bits
will be very large, the normal way with ignoring the last bits
of the data and the new method without ignoring data will
provide approximately the same results in the calculation of
BER performance. But, the new method will be mainly
important in the practical case.
Also it is useful in the concatenated code, where the output of
the inner decoder (convolutional) will be entered as input to
the outer decoder (Reed Solomon), in the case of using the
normal way the output of convolutional decoder, with
ignoring the last bits of the data, must be appended with zero
bits before entering to the outer decoder (RS), so the decoder
also recover the original data with missing of some bits.
But, when using the new method in the concatenated code, the
output of the convolutional decoder includes the whole
original data, so this output enters directly to RS decoder.
This new method does not affect the system rate, and this is
because the very large number of transmitted data with
respect to the number of added zero bits. Also it provides a
little difference in the BER performance in a certain range of
SNR due to the same previous reason as shown in Fig 9. But
mainly this method will affect in the practical system.
Fig 9: Convolutional Coded OFDM with New Method
The original data without any missing in the data bits
The zero bits due to the trace
back delay
The added zero bits
The original data with missing of the last 3 bits
The zero bits due to the trace
back delay back delay
International Journal of Computer Applications (0975 – 8887)
Volume 110 – No. 11, January 2015
21
4.2.2.2 A new algorithm to Create a Good
Convolutional Code This algorithm can be used to select the best connection for
the convolutional encoder to achieve the large distance that
represents a measure to the error correcting capability of the
code.
This algorithm start its work by selecting the required rate 1/n
and constraint length K, then testing the all possible
connection of the encoder to find the best connection that has
a large free distance. From the matlab simulation of this
algorithm, to create a good convolutional code, by selecting
rate = 1/n = 1/2 and constraint length = K=3, the
convolutional encoder design with maximum free distance
will have the best connection as shows:
good_conv_code =
'n' 'k' 'max dfree' 'best connection vector'
[2] [3] [5] [5 7]
[2] [3] [5] [7 5]
So, there are many choices of the encoder circuit connections
that have a maximum distance. Fig 10 shows the flowchart
that illustrates the simulation process of choosing the good
distance convolutional encoder design.
Fig 10: An Algorithm to Select Convolutional Code with Large Distance
4.2.2.3 The Performance of Convolutional Codes
with Different Parameters Here, the convolutional coded system is simulated for
different rates and different constraint lengths (K). From Fig
11, the convolutional code with large constraint length and
large rate provides a better performance, but the preferred rate
for convolutional code is 1/2 as it will limit some of
bandwidth consumption.
The convolutional coded system with rate 1/2 and K 7 will
achieve the target BER at 5.5 dB.
Fig 10: Convolutional coded OFDM
International Journal of Computer Applications (0975 – 8887)
Volume 110 – No. 11, January 2015
22
4.2.2.4 Punctured Convolutional Coded System
Performance Fig 12 examines the performance of the punctured
convolutional code with different rates. It appears that, for the
punctured convolutional code with rate 2/3, the rate increases
but the performance degrades. For the other curves, as the rate
approximately remain constant its error correcting capability
still fixed and its performance as the case of the original
convolutional code, and its benefit is to save some decoding
time and complexity by saving or removing only a small
number of bits that out from the encoder. So, the punctured
convolutional code adjusted to make a balance between its
advantage and disadvantage, to have the same performance
with less complexity. Finally, this technique can be adjusted
according to the application requirements.
Fig 11: Punctured Convolutional Coded System
4.2.3 Concatenated coded OFDM Firstly, the Reed Solomon code concatenated with the
convolutional code. The concatenation is done between two
moderate codes the first is RS code, with lower redundancy so
more simple, and the second is the convolutional code with
rate 1/2, which use Viterbi algorithm that makes it also simple
in computation. Fig 13 shows that, the code that uses RS
(255,239) and the other that use RS (255,195) provides the
desired BER at 3dB and 3.1 dB respectively, with coding gain
approximately equal 5.2 dB than the uncoded case.
Fig 12: Concatenated Coded OFDM
4.2.4 Concatenated Coded System with Less
Decoding Complexity and Time The system performance can be enhanced by using the
shortened version of RS (255,239) which is RS (204,188) and
the punctured version of convolutional code with rate 1/2
which is punctured convolutional with rate 50/97, as shown in
Fig 14.
Fig 13: Concatenated Coded OFDM Using the Shortened
RS and the Punctured Convolutional Codes
From the previous figure, the modified concatenated coded
OFDM system, with shortened RS and punctured
convolutional, provides approximately the same performance
as that the normal concatenated code but with less complexity
and decoding time.
4.2.5 Interleaved Concatenated coded OFDM The use of interleaver in the concatenated system will
improve the error performance. Fig 15 shows that the
performance for Interleaved Concatenated code OFDM
system, the interleaved concatenated coded OFDM system
will achieve the desired BER at 2.6 dB. Which means that
there is a coding gain = 5.4 dB with Interleaved Concatenated
OFDM system than the uncoded case.
Fig 14: Interleaved Concatenated Coded OFDM
Finally, Fig 16 shows the performance of uncoded versus
different types of coded OFDM system, and the used coding
technique depends on the available resources and the
application requirement.
International Journal of Computer Applications (0975 – 8887)
Volume 110 – No. 11, January 2015
23
Fig 15: Uncoded OFDM versus coded OFDM
As shown in the previous figures, the different coding
techniques improve the performance of OFDM system by
reaching lower BER at earlier Eb/N0. But there is a crossover
between uncoded and coded performance, which means that
, at low values of Eb/N0 , the uncoded system has a lower BER
than coded system.
The reason of this crossover is that every code system has
some fixed error correcting capability, and if the errors within
a block exceed code correcting capability, the code system
cannot correct it and perform poorly. Coding techniques,
which means adding redundancy, cause high data rate, less
energy per bit, and more errors out of the demodulator that
can reach and exceed code correcting capability, so cause
poor performance. So the benefits of coding in performance
appear at reasonable values of Eb/N0 that compensate the poor
performance of the demodulator. Using a powerful coding
techniques ,as concatenated codes, cause the crossover occur
at earlier point or provide improved performance at lower
values of Eb/N0 .[5]
5. CONCLUSION This paper presented the performance of uncoded versus
coded OFDM system over AWGN channel. That discusses
the effect of different channel coding techniques in the
performance of OFDM system. It shows the performance of
RS and convolutional codes in OFDM system, then discusses
the concatenation between them to provide a better
performance at earlier power level. It also discusses the ability
of interleaved concatenated codes to provide a more
improvement in the system. and its ability to use the shortened
and punctured techniques to respond to various systems
demands so provide the better performance with the available
resources with less decoding complexity and time. It also
introduced a new algorithm to choose a good convolutional
encoder design with certain rate and memory registers.
As a feature work, the concatenated codes will be applied in
the Rayleigh fading channel. And also, his effect on the PAPR
will be tested.
6. REFERENCES [1] Husein A.A.Alenzi, Orthogonal Frequency Division
Multiplexing, M.Sc Degree in Information Technology at
the AHLIA University, 2009.
[2] Sanja Maksimović, Danijela Šikanja,and Željen
Trpovski, Single Frequency Networks for DVB-T and
Evolution Towards DVB-T2, Scientific Technical
Review, 2010 (ok1)
[3] Akhtar Ali Jalbani, SINGLE FREQUENCY
NETWORKS, PhD Scholar, Institute for Informatik,
University of Goettingen, 2010 (ok4)
[4] Teddy Purnamirza, The Performance of OFDM in
Mobile Radio Channel, M.Sc Degree in Engineering at
University Technology Malaysia, 2005.
[5] Bernard Sklar, Digital Communications: Fundamentals
and Applications, Prentice-Hall Inc., 2001.
[6] Bernard Sklar, Fundamentals of Turbo Codes, 2002.
[7] Jorge Castiñeira Moreira, Patrick Guy Farrell, Essentials
of Error Control Coding, Wiley & Sons Inc., 2006.
[8] Sandeep Katakol, Orthogonal Frequency Division
Multiplexing (OFDM), S.D.M College of Engineering
and Technology, Vishveshwaraiah Technological
University, 2010 (ok2)
[9] Ruhi Khetrapal and Vipul Awasthi, Enhanced BER
Performance in Optical OFDM System, International
Journal of Modern Engineering and Research
Technology,2014 (ok3)
[10] Dushantha N. K. Jayakody, Leonardo O. Iheme, Erhan
A. İnce, Coded QPSK-OFDM for Data Transmission
over Fading Channels, IEEE, 2010.
[11] Sanjeev Kumar, Ragini Gupta, Bit Error Rate Analysis of
Reed Solomon Code for Efficient Communication
System, international journal of computer applications,
2011.
[12] Jeff Foerster and John Liebetreu, FEC Performance of
Concatenated Reed-Solomon and Convolutional Coding
with Interleaving, IEEE 802.16 Broadband Wireless
Access Working Group, 2000.
[13] Chih-Peng Li, Wireless Information Transmission
System Lab, National Sun Yat-Sen University, 2008.
[14] http://www.allsyllabus.com/aj/note/Information_Science/
Information%20Theory%20and%20Coding/s11/CODIN
G%20FOR%20BURST%20ERROR%20CORRECTION
.php
[15] Venkatesan Guruswami, Introduction to Coding Theory:
Reed-Solomon, BCH, Reed-Muller, and Concatenated
Codes, CMU, 2010.
[16] IEEE Computer Society, and the IEEE Microwave
Theory and Techniques Society, IEEE Standard for
Wireless MAN-Advanced Air Interface for Broadband
Wireless Access Systems, Amendment 2: Higher
Reliability Networks,2013.
IJCATM : www.ijcaonline.org