performance evaluation of variant error correction schemes
TRANSCRIPT
International Journal of Wireless Communications and Mobile Computing 2016; 4(1): 7-11
Published online March 9, 2016 (http://www.sciencepublishinggroup.com/j/wcmc)
doi: 10.11648/j.wcmc.20160401.12
ISSN: 2330-1007 (Print); ISSN: 2330-1015 (Online)
Performance Evaluation of Variant Error Correction Schemes in Terms of Extended Coding Rates & BER for OFDM Based Wireless Systems
Md. Nurul Mustafa, Mohammad Jahangir Alam, Nur Sakibul Huda
Department of Computer Science and Engineering (CSE), Southern University Bangladesh, Chittagong, Bangladesh
Email address: [email protected] (Md. N. Mustafa), [email protected] (M. J. Alam), [email protected] (N. S. Huda)
To cite this article: Md. Nurul Mustafa, Mohammad Jahangir Alam, Nur Sakibul Huda. Performance Evaluation of Variant Error Correction Schemes in Terms
of Extended Coding Rates & BER for OFDM Based Wireless Systems. International Journal of Wireless Communications and Mobile
Computing. Vol. 4, No. 1, 2016, pp. 7-11. doi: 10.11648/j.wcmc.20160401.12
Abstract: Modern OFDM systems provide effective spectral usage by allowing overlapping in the frequency domain.
Moreover, it is highly resistant to multipath delay spread. The suppression of inter-symbol interference (ISI) is one of the top
features of OFDM. It also facilitates mobile bandwidth allocation and may increase the capacity in terms of number of users.
Even though the presence of OFDM’s built in error preventing mechanism; error tends to occur that averts delivery of proper
signal. In this work we evaluated and adapted ways of fine-tuning for different error correction methods so that they may bring
positive impact on communication systems who are developing and using OFDM. Here the performance of different known
error correcting techniques for OFDM systems have been analyzed after extending and puncturing feature is applied on them.
Simulations are performed in well-known simulator MATLAB to evaluate the modified techniques for different channel
conditions. As the advantage of OFDM based systems are mainly the robustness to channel impairments and narrow-band
interference; thus added error reduction models will improve significant efficiency of systems based on OFDM.
Keywords: Extended RS Code, AWGN, ISI, BER, Extended Convolution Code, Extended LB Code, FFT, IFFT
1. Introduction
Wireless communication, as the name suggests [1], is
wireless way of transmitting information from one place to
another, is replacing most of the wired transmission of
today’s world. Research in the field of wireless
communication is still a hot topic to discover new
possibilities. The goal of every research in this topic is to find
more effective communication methods. Wireless
communication helped the user to move freely without
worrying about transfer of data. It dramatically changed the
concept of information transfer in homes and in offices.
The basic building blocks of a typical wireless
communication system [2], are encoder, channel coder,
modulator, demodulator, and channel decoder. The signal is
first converted to digital data and then source encoded.
Source encoding reduces the amount of the data present in
the signal to reduce the bandwidth required to transmit the
associated data. Then the data proceeds to channel encoder
block, which is responsible for adding extra bits in the data to
help correcting errors inflicted to the data due to fading and
noise. Our work in this paper contains three techniques for
channel encoding that will be explained in later chapters. The
modulator modulates the message signal on the transmission
frequency so that the signal is ready for transmission.
Signal when transmitted, through wireless channel, faces
multiple problems [3]. One major problem faced by the
signal is fading. Fading can be caused by natural weather
disturbances, such as rainfall, snow, fog, hail and extremely
cold air over a warm earth. Fading can also be created by
manmade disturbances, such as irrigation, or from multiple
paths. All these factors introduce errors into the transmitted
data.
When received at the receiver the signal is added with
noise, since receiver antenna is designed to receive any signal
present within a certain frequency range and noise is also
present in that range. Now that data is passed to the
demodulator whose job is convert the signal back from the
carrier frequency to its normal form. After that the channel
decoder helps to recover original signal from the degraded
signal due to channel fading and noise. This is done by using
the redundant bits that were added by the channel encoder.
8 Md. Nurul Mustafa et al.: Performance Evaluation of Variant Error Correction Schemes in Terms of
Extended Coding Rates & BER for OFDM Based Wireless Systems
This signal after recovery is passed to the source decoder,
which converts the signal back to its original form.
2. The Problem in Details
OFDMis a technique, for transmission of data stream over
a number of sub-carriers. In OFDM, a high rate bit stream is
divided into bit streams of lower rate and each of them are
modulated over one of the orthogonal subcarriers [1]. In a
single carrier system a single fade can cause the entire link to
fail while in a multi carrier system only a few bits will be
disturbed and they can be corrected by applying error
correction codes.
OFDM overcomes the problem of inter-symbol
interferenceby transmitting a number of narrowband
subcarriers together with a guard interval [4]. But this gives
rise to another problem that all subcarriers will arrive at the
receiver with different amplitudes. Some carriers may be
detected without error but the errors will be distributed
among the few subcarriers with small amplitude.
Channel coding can be used across the subcarriers to
correct the errors of weak subcarriers. In OFDM systems
error correction has a significant role since OFDM along
with error correcting techniques help to deal with fading
channels. Error correction helps in recovery of faded
information by providing a relation between information and
transmitted code such that errors occurring within the
channel can be removed at the receiver. A lot of such
techniques for error correction are given till date. In this
work some of these techniques are considered, modified to an
extent & implemented for OFDM system and then a
comparison between them are made for best outcome.
3. Channel Coding
Channel codingis basically from the class of signal
transformations designed to improve the communication
performance by enabling the transmitted signal to better
resist the effects of various channel impairments such as
noise fading and jamming [5]. The goal of channel coding is
to improve the bit error rate (BER) performance of power
limited and/or band limited channels by adding redundancy
to the transmitted data. The three channel coding schemes
[13], that are modified to achieve objective of this work are
described in the following section:
3.1. Linear Block Coding
A block code is defined as a code in which k symbols are
input and n symbols are output and is denoted as a (n, k)
code[5]. If the input is k symbols, then there are 2k distinct
messages. For each k input symbols output is n symbols
known as a codeword where n is greater than k. Figure 1
shows input and output of a block code and the size of
codeword formed.
A block code of length n with 2 kcodewords is called a
linear (n, k) code if and only if its 2 kcodewords form a k-
dimensional subspace of the vector space of all n-tuples over
the Galois field GF. Since there are n output bits so there are
2n combinations possible for codewords but all of them are
not codewords rather 2k are codewords. Rest of the
combinations usually comes forward when there is an
erroneous transmission and codewords are corrupted by
change in bits. There are some rules which codewords have
to fulfil. One of them is that the sum of any two codewords is
also a codeword and being a linear vector space, there is
some basis, and all codewords can be obtained as linear
combinations of the basis [6]. Anexample of [5] code is
generated by generator matrix given below:
G =�1 0 0 0 0 1 10 1 0 0 1 0 100 00 1 0 1 1 00 1 1 1 1�
Figure 1. A block encoder and a LB coding codeword.
3.2. Convolution Code
Convolutional codes are different from the block codes
[7], since in convolutional coding the information sequences
are not grouped into distinct blocks and encoded so a
continuous sequence of information bits is mapped into a
continuous sequence of encoder output bits. Convolutional
coding can achieve a larger coding gain than can be achieved
using a block coding with the same code rate [8].
Convolutional codes have their popularity due to good
performance and flexibility to achieve different coding rates.
An important characteristic of convolutional codes [9] is
that the encoder has memory. That is the n-tuple output
generated by the encoder is a function of not only the input
k-tuple but also the previous N-1 input k-tuples. The integer
N is called the constraint length [7]. The convolutional
code is generated by passing the information sequence
through a finite state shift register. In general, the shift
register contains N stages and m linear algebraic function
generators based on the generator polynomials [9]. The
input data k bits is shifted into and along the shift register.
The number of output bits for each k input bits is n bits. The
code rate is given as R= k / n.
3.3. RS Coding
The mechanism by which Reed-Solomon codes [10]
International Journal of Wireless Communications and Mobile Computing 2016; 4(1): 7-11 9
correct errors is that the encoder adds redundant bits to the
digital input data block. The decoder attempts to correct
and restore the original data by removing the errors that
are introduced in transmission, due to many reasons that
might be the noise in the channel or the scratches on a CD.
There are different families of Reed-Solomon codes and
each has its own abilities to correct the number and type
of errors.
These codes are linear and a subsection of BCH codes [11]
and can be denoted as RS(n, k) with s-bit (Where s are
symbols represented as a bit) symbols.
An n-symbol codeword is made by the k data symbols of s
bits each and the encoder adds parity bits. Errors in a
codeword can be corrected by the decoder up to t symbols
where, 2t=n-k.
4. Research Methodology
Quantitative research methodology (AI-Mahmoud &
Zoltowski, 2009) is adopted in this work. MATLAB is used
as a tool to implement the OFDM system, error correcting
techniques for the OFDM system and after that a
performance comparison is made between these techniques.
The outcomes of this work will be a BER (Bit Error Rate) vs.
SNR (Signal to Noise Ratio) comparison, which will tell the
behavior of all these three codes (Linear block codes,
Convolutional codes and Reed-Solomon codes) under
different SNR. The assessment will help us to analyze the
performance of the three coding techniques in combination
with OFDM. The finding of this work may help the OFDM
system designers to choose the error correcting codes that
match their requirements.
4.1. Code Modification
A code C has three fundamental parameters. Its length n,
its dimension k, and its redundancy r = n-k. Each of these
parameters has a natural interpretation for linear codes, and
although the six basic modification techniques [3], are not
restricted to linear codes it will be easy initially to describe
them in these terms. Each of these one parameter and
increases or decreases the other two parameters accordingly.
We have:
1. Augmenting. Fix n; increase k; decrease r
2. Expurgating. Fix n; decrease k; increase r
3. Extending. Fix k; increase n; increase r
4. Puncturing. Fix k; decrease n; decrease r
5. Lengthening. Fix r; increase n; increase k
6. Shortening. Fix r; decrease n; decrease k
The six techniques fall naturally into three pairs, each
member of a pair the inverse process to the other. Since the
redundancy of a code is its “dual dimension” each technique
also has a natural dual technique. In this workwe used the
extending feature of code modification. We have modified
our OFDM input & output code correction techniques
according to the extended features and performed the
simulation accordingly.
4.2. Extending & Puncturing
In extending or puncturing [5] a code we keep its
dimension fixed but vary its length and redundancy. These
techniques are exceptional in that they are one-to-one. Issues
related to the extending and puncturing of GRS codes will be
discussed in the next two sections.
When extending a code we add extra redundancy
symbols to it. The inverse is puncturing, in which we
delete redundancy symbols. Puncturing may cause the
minimum distance to decrease, but extending will not
decrease the minimum distance and may, in fact, increase
it. To extend a linear code we add columns to its generator
matrix, and to puncture the code we delete columns from
its generator.
Let us call the [n + 1, k] linear code C+ a coordinate
extension of C if it results from the addition of a single new
redundancy symbol to the [n, k] linear code C over the field
F. Each codeword c+ = (c1,….., cn, cn+1) of the extended code
C+ is constructed by adding to the codeword c = (c1,……,cn)
of C a new coordinate ���� = ∑ �� � = �. ���� , for some
fixed a = (a1,……,an) ϵ Fn. Here I imply that the new
coordinate is the last one, but this is not necessary. A
coordinate extension can add a new position at any place
within the original code.
The most typical method of extending a code is the
appending of an overall parity check symbol, a null symbol
chosen so that the entries of each new codeword sum to zero.
This corresponds to a coordinate extension in which ‘a’ has
all of its entries equal to -1.
5. Simulation & Results
To keep the conditions same for all the simulations the
input data, the fading channel and the noise is once generated
and saved. The input data is kept same for testing of all
coding schemes. The total number of carriers [12] chosen in
the OFDM system is 128 and used is 104. Eb/No (Energy per
bit to noise power ratio) is used in testing. Eb/No is useful
when comparing BER in digital modulation schemes without
taking the bandwidth into account.
Rayleigh fading channel is once generated and saved. The
same fading is used for all the simulations. The fading is
defined by the following MATLAB equation: rayleigh = sqrt(0.5 ∗ (randn(N, 1" + i ∗ randn(N, 1""" Where ‘randn()’ generates values from the standard normal
distribution function and ‘N’ defines the length of fading
signal.
The results of simulation for code rate of 1/3 as per
MATLAB simulation are shown in Figure 2. It is found
that convolution code after the extending & puncturing
features applied gives 2 dB improvement than Reed
Solomon Code and 4 dB improvement than flat Block
Codes at BER of 10-3
.
10 Md. Nurul Mustafa et al.: Performance Evaluation of Variant Error Correction Schemes in Terms of
Extended Coding Rates & BER for OFDM Based Wireless Systems
Figure 2. Convolutional encoder with length 7 & rate ½.
Figure 3. Comparison of Three Extended & Punctured Coding Schemes for
1/3 Code Rate.
Figure 4. Comparison of Three Extended & Punctured Coding Schemes for
1/2 Code Rate.
The results of simulation for code rate of 1/2 are shown in
Figure 3. It is found that RS code after the extending &
puncturing features applied gives 1 dB improvement than
Convolution Code and 2 dB improvement than Block Codes
at BER of 10-3
.
The final results of simulation for code rate of 2/3 are
shown in Figure 4. It is found that Convolution code after the
extending & puncturing features applied gives.5 dB
improvement than RS Code and 1.5 dB improvement than
Block Codes at BER of 10-3
.
Figure 5. Comparison of Three Extended & Punctured Coding Schemes for
2/3 Code Rate.
Hence from all the performance analysis made above for
different scenarios are shown in the following graphs:
International Journal of Wireless Communications and Mobile Computing 2016; 4(1): 7-11 11
Figure 6. Comparison of all three error rectification techniques in terms of
extended & punctured coding scheme for OFDM systems.
6. Conclusion
In this work it is found that Convolutional codes are very
good in performance at lower code rates but due to complex
decoding structure they are difficult to implement. Another
problem that may arise in them is error propagation while
decoding. Convolutional codes have problem of very
complex decoding so if the length of input data is increased,
the trellis used will be complex and the decoding will
become even more complicated.
Linear block codes are very simple to implement. They
also show good performance and are also good for lower
code rates and highly suitable for application with less
complexity requirement and not so high performance
requirement.
Reed-Solomon codes in comparison to linear block codes
are difficult to implement but their performance is much
better and consistent than linear block codes since they can
handle long bursts of errors. These codes showed good
performance on all three tested code rates.
Hence with the system that requires good performance and
along with that can also handle complexity, there is no better
than convolution code. But if the system can’t handle
complex architecture then RS codes might be more suitable
for the purpose.
7. Limitations
Limitation of this work certainly includes the use of a
model noise channel as this result is yet to be tested in
physical condition. If someone changes the generator matrix
then it will also change the results. Thus it is not possible to
generalize these results by having different environment
other than described in Section V in simulation environment.
References
[1] Prasad, R. (2000), OFDM for Wireless Communications Systems, Artech House Publishers, Boston, London.
[2] Hughes Software Systems (2002), Multi Carrier Code Division Multiple Access.
[3] Haykin, S. (2006), Communication Systems, John Wiley & Sons, Inc.
[4] Sklar, B. (2001), Digital Communications: Fundamentals and Applications, Second Edition, Upper Saddle River, NJ: Prentice-Hall.
[5] Ryan, W. E., & Lin, S. (2009), Channel Codes: Classical and Modern. Cambridge University Press.
[6] Agarwal, Arun, & Patra, S. K. (2011). Performance Prediction of OFDM based DAB System using Block coding technique”, Proceedings of ICETECT, India.
[7] MacKay, David J. C. (2003), Information Theory, Inference, and Learning Algorithms, Cambridge University Press.
[8] Witrisal, K., Kim, Y., & Prasad, R. (1999), A Novel Approach for Performance Evaluation of OFDM with Error Correction Coding and Interleaving, Centre for Wireless Personal Communications (CEWPC), IRCTR Delft University of Technology.
[9] Chatzigeorgiou, I. A. (2012), A Comparison of Convolutional and Turbo Coding Schemes For Broadband FWA Systems.
[10] Koetter, R. (2005), Reed–Solomon Codes, MIT Lecture Notes.
[11] AI-Mahmoud, M., & Zoltowski, Michael D. (2009), Performance Evaluation of CODE-SPREAD OFDM with error control coding, School of Electrical and Computer Engineering Purdue University West Lafayette, IN 47907-2035.
[12] Cho, Y. S., Kim, J. (2010), MIMO-OFDM Wireless Communications with MATLAB, John Wiley & Sons, Inc.
[13] Haque, D., Enayet Ullah, S., & Ahmed, R. (2008), Performance evaluation of a wireless Orthogonal Frequency Division Multiplexing system under various concatenated FEC channel-coding schemes, Proceedings of 11th International Conference on Computer and Information Technology, Khulna, Bangladesh, 25-27 December.