Upload
olufisayo-adekile
View
15
Download
0
Tags:
Embed Size (px)
Citation preview
Bit Error Rate Performance Analysis of a Modern Channel Codec in Gaussian Channel Using Higher Modulation Schemes.
Bit Error Rate Performance Analysis of a Modern Channel Codec in Gaussian Channel Using Higher Modulation Schemes.
Bit Error Rate Performance Analysis of a Modern Channel Codec in Gaussian Channel Using Higher Modulation Schemes.
ACKNOWLEDGEMENT
I indebted to my supervisor Dr Li X Zhang and wish to express my heartfelt gratitude to her
for supervising and directing me all through the duration of this work. Her helpful comments
and suggestions as well as her critical reviews will not be forgotten. I am most grateful to my
accessor Mohsen Razavi for assisting and encouraging me all the way. Lastly I also wish to
thank all the students who helped me in some way or the other, I am very greatful.
Bit Error Rate Performance Analysis of a Modern Channel Codec in Gaussian Channel Using Higher Modulation Schemes.
ABSTRACT
The evolutions of wireless communication systems and networks in recent years have been
explosive.
In this work, the performance of a wireless communication system is investigated. This is
done by analysing the bit error rate performance of a modern channel codec in Gaussian
channel using higher modulation schemes. Also, the bit error rate performance for the
simulated and theoretical results of digitally modulated communication channels was
evaluated compared and analysed along with the use of a convolutional encoder.
Furthermore, this report investigates an advanced algorithm called soft output Viterbi
algorithm which is used in the decoding of the convolutionally encoded bits. Modulation
schemes such as BPSK, QPSK, 16-QAM and 64-QAM are used. Large coding gains were
observed with the use of a convolutional encoder in comparison to the uncoded system, with
as much as 4dB coding gain recorded in the QPSK system with convolutional code over the
uncoded system. Simulation and theoretical results of the various modulation schemes used
are presented.
Bit Error Rate Performance Analysis of a Modern Channel Codec in Gaussian Channel Using Higher Modulation Schemes.
LIST OF FIGURES AND TABLES
FIGURES
Fig 1-3: Block Diagram of a Digital Communication System
Fig 2-1: Block diagram for a communication link
Fig 4-1: Constellation Diagram for BPSK Modulation Scheme
Fig 4-2: Theoretical and Simulated BER against SNR in AWGN for BPSK
Fig 4-3: Constellation Diagram for QPSK Modulation Scheme
Fig 4-4: Theoretical and Simulated BER against SNR in AWGN for QPSK
Fig 4-5: Constellation Diagram for 16 QAM Modulation Scheme
Fig 4-6: Theoretical and Simulated BER against SNR for 16 QAM in AWGN
Fig 4-7: Constellation Diagram for 64 QAM
Fig 4-8: Theoretical and Simulated BER against SNR for 64 QAM
Fig 5-1: BPSK with Convolutional Code and theoretical and Simulated BER against SNR in
AWGN
Fig 5-2: QPSK with Convolutional Code and theoretical and Simulated BER against SNR in
AWGN
Fig 5-3: 16QAM with Convolutional Code and theoretical and Simulated BER against SNR in
AWGN
Fig 5-4: 64QAM with Convolutional Code and theoretical and Simulated BER against SNR in
AWGN
Bit Error Rate Performance Analysis of a Modern Channel Codec in Gaussian Channel Using Higher Modulation Schemes.
TABLE
Table 4-1: Constellation Mapping for 16 QAM
LIST OF ABBREVIATIONS AND SYMBOLS
Abbreviations
ADC Analogue to Digital Converter
AM Amplitude Modulation
ASK Amplitude Shift Key
AWGN Additive White Gaussian Noise
b/s bits per second
BER Bit Error Rate
BPSK Binary Phase-Shift Key
CW Continuous-Wave
DAC Digital to Analogue Converter
dB Decibels
DC Direct Current
DCS Digital Communication System
FM Frequency Modulation
FSK Frequency Shift Key
Hz Hertz
IF Intermediate Frequency
ISI Intersymbol Interference
MLD Maximum Likelihood Decoding
PM Phase Modulation
PSK Phase Shift Keying
RF Radio Frequency
RSC Recursive Systematic Convolutional code.
Bit Error Rate Performance Analysis of a Modern Channel Codec in Gaussian Channel Using Higher Modulation Schemes.
QPSK Quadrature Phase-Shift Key
16QAM 16 Quadrature Amplitude Modulation
64QAM 64 Quadrature Amplitude Modulation
SNR Signal-to-Noise Ratio
TCM Trellis Coded Modulation
Bit Error Rate Performance Analysis of a Modern Channel Codec in Gaussian Channel Using Higher Modulation Schemes.
Table of Contents ACKNOWLEDGEMENT ......................................................................................................... 3
ABSTRACT ............................................................................................................................... 4
LIST OF FIGURES AND TABLES ......................................................................................... 5
LIST OF ABBREVIATIONS AND SYMBOLS ...................................................................... 6
1. INTRODUCTION ............................................................................................................... 10
1.1 Evolution of Communication ......................................................................................... 10
1.2 Digital Communication .................................................................................................. 11
1.3 Fundamentals of Digital Communication ...................................................................... 12
1.4 Project Objectives .......................................................................................................... 13
1.5 Report Structure ............................................................................................................. 15
2. PROCESS DESIGN ............................................................................................................ 15
2.1 Block Diagram ............................................................................................................... 15
3. CHANNEL MODEL ........................................................................................................... 16
3.1 Additive White Gaussian Noise ..................................................................................... 16
3.2 Channel Capacity ........................................................................................................... 18
4. MODULATION SCHEMES ............................................................................................... 18
4.1 Modulation Overview .................................................................................................... 18
4.2 Detection and Demodulation .......................................................................................... 20
4.3 PSK Modulation Scheme ............................................................................................... 21
4.3.1 BPSK Modulation Scheme ...................................................................................... 21
4.3.2 QPSK Modulation Schemes .................................................................................... 23
4.4 Quadrature Amplitude Modulation ................................................................................ 25
4.4.1 16 QAM ................................................................................................................... 27
4.4.2 64 QAM ................................................................................................................... 29
Bit Error Rate Performance Analysis of a Modern Channel Codec in Gaussian Channel Using Higher Modulation Schemes.
4.5 Comparisons of BER in AWGN for Different Modulation Schemes ............................ 31
5. CHANNEL ENCODING ..................................................................................................... 32
5.1 Overview of Channel Coding ......................................................................................... 32
5.2 Convolutional Coding .................................................................................................... 32
5.3 Viterbi Decoding Algorithm .......................................................................................... 35
5.4 Modulation Schemes with Convolutional Code ............................................................. 36
5.5 Discussion of results ...................................................................................................... 40
6. CONCLUSION ................................................................................................................... 40
References ................................................................................................................................ 42
Bibliography ............................................................................................................................ 45
APPENDIX A : UNCODED BPSK SIMULATION OVER AWGN ..................................... 46
APPENDIX B: UNCODED QPSK SIMULATION OVER AWGN ...................................... 47
APPENDIX C: UNCODED 16QAM IN AWGN ................................................................. 49
APPENDIX D: UNCODED 64QAM IN AWGN ................................................................... 51
APPENDIX E: CODED BPSK IN AWGN ............................................................................. 53
Bit Error Rate Performance Analysis of a Modern Channel Codec in Gaussian Channel Using Higher Modulation Schemes.
1. INTRODUCTION
1.1 Evolution of Communication
Communication fundamentally described as the transmission of information from one point
to another, has been an important source in the rapid development of the world today. The
radical growth of the wireless communication segment of the communication industry has not
only captured the attention of the public but also that of the media.
In ancient times, information was transmitted wirelessly through the use of signals such as
smoke signals, flag signals, signal flares or torch signals. To convey these messages over
long distances, observation stations were built on hilltops and along roads and the messages
were passed from station to station. Overtime, these forms of communication began to
evolve.
The advancement into modern communication systems came in form of the telegraph
developed by Samuel Morse in 1837. This brought about a complete revolution in long-
distance communications when the words “What hath God wrought” were transmitted by
Morse’s telegraph between Washington D.C. and Baltimore, Maryland in 1844. The
invention of the telephone in 1875 by Alexander Graham Bell brought about further
improvements in communication systems. He illustrated the possibility of real-time
transmission of speech by electrical encoding and replication of sound with his invention.
Bit Error Rate Performance Analysis of a Modern Channel Codec in Gaussian Channel Using Higher Modulation Schemes.
This paved way for many other inventors as in 1864, James Clerk Maxwell predicted the
existence of radio waves and Heinrich Hertz went on to experimentally established the
existence of radio waves in 1887. Oliver Lodge demonstrated the possibility of wireless
communications over a short distance (150 yards), and then Guglielmo Marconi
demonstrated the first radio transmission from Cornwall, England to Signal Hill,
Newfoundland 1700 miles away across the Atlantic [1]. With this, radio communications was
born.
1.2 Digital Communication
Initially, radio systems transmitted analogue signals but today most radio systems transmit
digital signals composed of binary bits. The primary reason for this move to digital
communications is because digital communications provides better quality communication
and the capability for information to be more efficient and reliable. The binary bits are
obtained directly from the data signal or by conversion of the analogue signals to digital
signals by digitization. Claude Shannon in 1948 laid the theoretical foundation for digital
communications in his paper titled “A Mathematical Theory of Communication.” He went on
to dispute the general conception that the increasing rate of information transmission over a
channel would increase the probability of error. He illustrated that provided the transmission
rate was below the channel capacity; the probability of error could be reduced [2].
Bit Error Rate Performance Analysis of a Modern Channel Codec in Gaussian Channel Using Higher Modulation Schemes.
1.3 Fundamentals of Digital Communication
Fig 1-3: Block Diagram of a Digital Communication System [3]
Fig 1-3 shows the block diagram of a typical digital communication system and signal flow
through it. From the signal source to the transmitter, the signal undergoes a series of
transformations and also the same from the receiver to the sink. After the signal is received, it
is formatted. This converts the received signal into digital symbols as signals are processed in
this form within a digital modulation system [4]. Analogue to digital conversion and
compression of the signal (removal of redundant bits) occurs in the source encoder.
Encrypting the signal allows for security and channel coding reduces the probability of error
or the signal-to-noise ratio requirement at the expense of bandwidth. Multiplexing and
multiple accesses combine signals that may have originated from different sources [5]. The
process whereby symbols are converted to waveforms suitable with the transmission channel
is called modulation. Up until the modulator, the baseband signal is characterized by a
sequence of digital symbols. After modulation occurs, the message signal takes the form of a
digital waveform. Frequency spreading produces a signal prone to interference. The lower
blocks are the reverse process of the upper blocks. From reception of the message signal until
the demodulation process where it takes the form of a bit stream, the received message signal
appears as a digital waveform [6].
Bit Error Rate Performance Analysis of a Modern Channel Codec in Gaussian Channel Using Higher Modulation Schemes.
Despite the various digital communication system processes, there are three basic elements to
every digital communication system are the formatting, modulation and demodulation. The
process can be grouped into transmitter, the channel and the receiver. The transmitter
converts the message signal received into a suitable digital waveform for transmission over
the channel. Due to channel imperfections, the transmitted message signal is distorted by
noise during transmission and the received message signal is a corrupted version of the
transmitted message signal. A measure used to evaluate how much a signal has been
corrupted by noise is the SNR [7]. It compares the level of a signal to the level of background
noise and is defined the ratio of the average signal power to the average noise power. The
higher the ratio, the less obvious the background noise is. SNR is expressed in decibels (dBs).
The number of bit errors is due to the distortion of the transmitted signal as a result of noise
in the communication channel and can be defined as the number of received bits of data that
have been altered due to distortion in the channel. The number of bit errors divided by the
total number of transferred bits during a particular time interval is called the bit error rate
(BER) and is usually expressed as a percentage. The smaller the BER, the more reliable the
communication system is.
Two principal resources are exploited in a communication system and they are the
transmitted power and the channel bandwidth, hence communication channels can be
classified as either band limited or power limited. The transmitted power is the average
power of the transmitted signal while the channel bandwidth is defined as the band of
frequencies allocated for the transmission of the message signal [8].
Radio technology accelerated at a fast rate through the years to enable transmissions over
larger distances with better quality, less power and smaller devices thereby enabling public
radio communications and wireless networking. Radio waves are generally utilized by
antennas of appropriate size with wavelengths ranging from hundreds of meters to about one
millimetre. They are used for transmission of information through modulation. Television,
mobile phones and wireless networking all use radio waves.
1.4 Project Objectives
This project looks into some blocks in the digital communication system. These are the
formatting block, the channel encode, modulate, demodulate, and the channel decode blocks.
Bit Error Rate Performance Analysis of a Modern Channel Codec in Gaussian Channel Using Higher Modulation Schemes.
The overall aim of this project is to analyse a modern channel codec using the convolutional
coding technique and higher modulation schemes over a gaussian channel (AWGN Channel).
The project objectives are to understand
(a) Noise and its effect during data transmission.
(b) Maximum likelihood decoding using soft decision (SD).
(c) The correction of errors caused by noise by adding controlled amount of redundancy
using a convolutional codec.
(d) Viterbi convolutional decoding algorithm.
The project is divided into four parts
(a) Generation of additive white Gaussian noise (AWGN) and evaluation of its effects on a
data communication system
(b) Study of the performances of the different modulation schemes in the presence of AWGN
without error correction codes
(c) Comparison of the performances of the different modulation schemes in the presence of
AWGN
(d) Understand the effects of a (2, 1, 4) convolutional codec on the performance of a
communication system in the presence of AWGN.
(e) Comparison of the performance of the uncoded scheme and the coded scheme in terms of
coding gain.
The four modulation schemes to be implemented are BPSK, QPSK, 16QAM, and 64QAM.
The performances of the four schemes are compared in terms of plots of the bit error rate
(BER) against signal-to-noise ratio (SNR).
This projects aims to help understand the need to reduce errors caused by imperfection of the
channels through the use of error correction coding. For the completion of this project,
simulations are to be created using matlab to generate a random sequence data generator, the
different modulation schemes to be used, a Gaussian noise generator, a soft decision
demodulator, and a (2, 1, 4) convolutional encoder and its corresponding soft-output viterbi
decoder (SOVA).
Bit Error Rate Performance Analysis of a Modern Channel Codec in Gaussian Channel Using Higher Modulation Schemes.
1.5 Report Structure
The report is intended to provide a progressive description of the project background,
including the work done, accompanied by the results concluded in the end.
Chapter 2 covers the process design. It also emphasizes the most important blocks for DCS.
Chapter 3 discusses the channel model. It introduces AWGN noise and the channel capacity.
Chapter 4 considers the various modulation techniques and demodulation and deals with the
BER and SNR.
Chapter 5 introduces channel encoding and emphasizes on convolutional coding. Also it
analyses the performance of a DCS by comparing the graphs gotten for the BER for the
various modulation techniques used.
Chapter 6 is the conclusion.
2. PROCESS DESIGN
2.1 Block Diagram
Figure 2-1 shows the process design considered in this work. At the transmitter, input binary
data are randomly generated and convolutionally encoded before being passed into the
modulator. In the modulator, the encoded binary data (codeword sequence) are transformed
into signal waveforms by modulation (BPSK, QPSK, 16QAM and 64QAM). The signal
waveforms are passed through the channel model (AWGN) where it is corrupted by
randomly generated gaussian noise.
Bit Error Rate Performance Analysis of a Modern Channel Codec in Gaussian Channel Using Higher Modulation Schemes.
Figure 2-1: Block diagram for a communication link
At the receiver end, the reverse of what occured in the transmitting end ensues. The signal is
received at the receiving end corrupted with noise and demodulation takes place. The
demodulator converts a set of time ordered random variables into a code sequence and passes
it to the convolutional decoder. The decoder is then tasked with producing an estimate of the
original randomly generated input binary data.
3. CHANNEL MODEL
3.1 Additive White Gaussian Noise
Noise in the communication channel arises from different sources such as shot noise, black
body radiation from the earth and warm objects and thermal or Johnson noise. Thermal noise
is present in all communication systems and is caused by the thermal motion of electrons in
all dissipative components e.g. resistors and wires. It is a natural source of noise in the
channel that cannot be eliminated. Thermal noise described as a zero-mean Gaussian random
process has three important characteristics which are
Convolutional
Encoder Modulator
Convolutional
Decoder De-Modulator
AWGN
Channel
Input bits
Output bits
Bit Error Rate Performance Analysis of a Modern Channel Codec in Gaussian Channel Using Higher Modulation Schemes.
o Additive: This term implies that the noise is added or superimposed on the signal and
there is no multiplicative mechanism [9, 12].
o White: When the noise power has a uniform spectral density, it is referred to as white
noise. Here the power spectral density is flat for all frequencies because a thermal
noise source initiates an equal amount of noise power per unit bandwidth at all
frequencies [10].
o Gaussian: A Gaussian process, n(t) is a random function whose value (n) at any
arbitrary time t is statistically characterized by the Gaussian probability density
function p(n) [10].
P(n) = [11]
Where
σ2 = noise variance
A random signal is often represented as the sum of a Gaussian noise random variable and a
dc signal.
z = a + n Equation 3.1.2 [11]
Where
z = random signal
a = dc component
n = Gaussian noise random variable [11]
Therefore the thermal noise process in communication receivers is modelled as an AWGN
noise process. It consists of a linear addition of white noise with a uniform spectral density
and a Gaussian distribution of amplitude. The noise power spectral density of N0/2 is constant
at all frequencies up to about 1012Hz and has zero mean. AWGN noise is memoryless and
affects each transmitted symbol independently [12].
Bit Error Rate Performance Analysis of a Modern Channel Codec in Gaussian Channel Using Higher Modulation Schemes.
3.2 Channel Capacity
The increasing demand for wireless communications makes it important to determine the
capacity limits of communication channels. The channel capacity of a communication
channel controls the maximum data rate that can be transmitted in a given time with
negligible amount of bit error.
Assuming an AWGN channel is considered with input/output relationship and a channel
bandwidth B and a transmit power P, the channel SNR is a constant given by
Where No is the power spectral density of the noise.
According to Shannon’s information capacity theorem, the capacity of this AWGN channel
free from intersymbol interference is defined by
C = B log2 (1 + SNR) b/s [13]
Where
C = information capacity of the channel measured in bits per seconds
B = channel bandwidth
SNR = signal-to-noise ratio measured at the channel output
This theorem illustrates that data can be transmitted over an AWGN channel of bandwidth B
at the maximum rate of C bits per seconds with arbitrarily small probability of error provided
that an encoding system of sufficiently high complexity is employed [14].
4. MODULATION SCHEMES
4.1 Modulation Overview
Modulation refers to the modification of given signals (usually baseband signals) at low
operating frequencies into the higher operating frequencies with a particular transmission
characteristic. It is the process of conveying a message signals inside another signal that can
be physically transmitted over a radio channel. It involves the transformation of a baseband
Bit Error Rate Performance Analysis of a Modern Channel Codec in Gaussian Channel Using Higher Modulation Schemes.
message signal into a passband signal and is performed by altering some parameters of a
signal already at the required carrier frequency in accordance with the information to be
relayed. These parameters include the amplitude, phase and the frequency. The signal being
modified is referred to as the carrier signal and the signal doing the modification is called the
information signal. Varying the phase and the amplitude of the signal forms the basis of all
modulation schemes [15].
Modulation processes can be categorized into two methods.
o Continuous-Wave Modulation (CW): In this modulation process, a sinusoidal wave is
used as the carrier. For example, when the amplitude of the carrier is varied in
accordance with the message signal, it is referred to as amplitude modulation [16].
Other forms of this type of modulation include frequency modulation, angle
modulation and phase modulation. Passband data transmission modulates high
frequency sinusoidal carriers and can be called digital CW modulation.
o Pulse Modulation: Here, the carrier consists of a periodic sequence of rectangular
pulses [17].
In recent times, digital modulation techniques have taken over from analogue modulation
techniques. Examples of these modulation techniques include
o PSK: digital data modulates the phase of the carrier
o ASK: digital data modulates the amplitude of the carrier
o FSK: digital data modulates the frequency of the carrier
A unique pattern of binary bits are usually assigned equally to each of the phases, frequencies
and amplitudes in the above modulation techniques. The symbol represented by a particular
phase, frequency or amplitude comprises of this number of bits. In any M-ary system, the
alphabet M represents the total number of symbols and M = 2N. Each symbol represents a
message consisting of N bits [18]. The modulation alphabet M can be represented on a
constellation diagram for modulation schemes where the frequency of the modulated signal is
constant. The constellation diagram is a representation of a signal modulated by digital
modulation scheme. The symbols are represented as complex numbers and are viewed as
points on the complex plane. The in-phase signal and quadrature phase signals are substituted
for the real part (cosine carrier signal) and the imaginary part (sine carrier signal)
Bit Error Rate Performance Analysis of a Modern Channel Codec in Gaussian Channel Using Higher Modulation Schemes.
respectively. They are commonly called the I-axis and the Q-axis. The effect of noise affects
these components independently.
4.2 Detection and Demodulation
At the receiver, the transmitted signal across the AWGN channel becomes distorted as a
result of noise added to the signal. The received signal becomes disrupted by noise and is
expressed as
[19]
Where
r(t) = received signal
si(t) = transmitted signal
n(t) = zero mean Gaussian noise process
The receiver tries to undo the deterioration introduced by the channel and to demodulate the
received signal. It does this in two processes. First it detects the received signal by reducing it
to a single number with a signal component and noise component and finds the
mean value.
[20]
In the second step, a decision is made as to which signal was transmitted by comparing
to a threshold. The demodulator proceeds to convert the set of random variables into an
identical message sequence, similar to the originally input message sequence. However, the
demodulator can be configured in two ways.
o To give a hard output: In this form, the output of the demodulator is quantized on two
levels to give either a zero or a one.
o To give a soft output: In this form, the demodulator is implemented to give output
values greater than two quantization levels. It provides more information as compared
to hard output which is used to recover the message sequence with a better error
performance than that of hard output. Eventually, every message decision out of the
demodulator must be a hard one. [21]
Bit Error Rate Performance Analysis of a Modern Channel Codec in Gaussian Channel Using Higher Modulation Schemes.
4.3 PSK Modulation Scheme
This is a digital modulation scheme that transmits data by modulating the phase of a carrier
wave. Digital data is represented by a finite number of phases with each phase assigned a
unique pattern of binary bits. This unique pattern of bits each forms the symbol that is
represented by the particular phase. PSK modulation schemes can be represented on a
constellation diagram where the amplitude of each point along the in-phase axis is used to
modulate a cosine wave and the amplitude along the quadrature axis to modulate a sine wave.
The constellation points are chosen such that they are positioned with uniform angular
spacing round a circle so all the points can be transmitted with the same energy. BPSK and
QPSK modulations schemes are two examples of Modulation schemes that alter their phases.
The next two sub-chapters will consider BPSK and QPSK modulation schemes.
4.3.1 BPSK Modulation Scheme
Binary Phase Shift Key, the simplest form of PSK is a modulation scheme that uses two
phases separated by 180o or π radians, to relay information across the channel by adjusting
the phases of the carrier signal as needed. It is also be referred to as 2PSK or phase reversal
key (PRK) because of its antipodal state (i.e. states separated by ф = 180o). The carrier signal
is adjusted between these two phases. It has been stated that in any M-ary system, the
alphabet M represents the total number of symbols and the total number of bits per symbol
can be found from the mathematical expression M = 2N, where N is the number of bits. For
the BPSK modulation system, M = 2, thus N =1. This implies that the constellation diagram
for BPSK consists of two symbols and can only modulate at one bit per symbol. The
constellation diagram is shown in Fig 4-1.
Bit Error Rate Performance Analysis of a Modern Channel Codec in Gaussian Channel Using Higher Modulation Schemes.
Fig 4-1: Constellation Diagram for BPSK Modulation Scheme [22]
The general form for BPSK is expressed as
[23]
Where fc = frequency of the carrier wave.
Using the general form above, binary data can be transmitted with outputs of two phases (0
and π radians). For example to transmit a bit 1, the signal s1(t) is sent and is declared as
[24]
When the symbol is changed, the phase of the carrier is changed by π radians. Hence to
transmit a bit 0, the signal s0(t) is relayed where
= [25]
From the equations above, it is observed that a bit 1 is modulated into a +1 and a bit 0 is
modulated into a -1.
The theoretical BER of BPSK in AWGN is expressed below
[26]
The Matlab scripts used in this project generated random bits of 0’s and 1’s before
modulating them digitally (BPSK modulation) into -1’s and +1’s, respectively. At the
receiver end, the received soft values (also known as the channel observation), was directly
fed into the detection scheme, where soft values below 0 were detected as bit 0 while soft
values above 0 detected as bit 1. (If there we to be a SOVA decoder involved, then the
received soft values are fed directly into the SOVA, and the output of the SOVA is then
detected digitally as explained above).
Bit Error Rate Performance Analysis of a Modern Channel Codec in Gaussian Channel Using Higher Modulation Schemes.
The plot of the BER against the SNR is obtained to analyse the performance of BPSK
modulation in a digital communication system. Fig 4-2 shows the curve obtained.
Fig 4-2: Theoretical and Simulated BER against SNR in AWGN for BPSK
BPSK modulation is one of the most potent of all the Phase Shift Key forms because it takes
an extremely high level of noise for the demodulator to make an incorrect decision. Also its
ease of demodulation, power efficiency, low cost of implementation and straight forward
carrier recovery are further reasons for its potency. For these reasons, applications such as
power line communications, cable modems, deep space telemetry and GPS still use BPSK
modulation schemes. [27]
4.3.2 QPSK Modulation Schemes
QPSK modulation scheme is also known as 4-PSK consists of BPSK modulation on both the
in-phase and quadrature components of the signal. In a QPSK modulation scheme, two
successive bits in a data sequence are grouped together. Consequently, the data rate is
Bit Error Rate Performance Analysis of a Modern Channel Codec in Gaussian Channel Using Higher Modulation Schemes.
doubled as compared to that of the BPSK modulation scheme or the bit rate is reduced. This
reduction is bit rate, causes a direct reduction in the bandwidth of the channel. The reason for
this reduction is that in a communication system, the channel bandwidth depends on the bit
rate and when two or more bits are combined on a symbol, the bit rate is reduced. This
reduction in the bit rate also causes a reduction in the frequency of the carrier required. Thus,
as a result of the grouping of bits in symbols, the transmission channel bandwidth is reduced.
Also, the BER for QPSK modulation scheme is exactly the same as the BER for BPSK
because QPSK maintains the same data-rate of BPSK but at half the bandwidth of BPSK.
QPSK uses four points (symbols) on the constellation diagram spaced equally around a circle.
It undergoes four changes in phase and as a result can encode two bits per symbol because 4
= 22. When the symbol is changed to the next symbol, the phase of the carrier is changed by
π/4 radians (45 degrees). A symbol error will occur if the received signal is displaced across
either of the axis. The probability of displacement is the same in each direction.
Fig 4-3: Constellation Diagram for QPSK Modulation Scheme
The general form for QPSK is shown below
[28]
Bit Error Rate Performance Analysis of a Modern Channel Codec in Gaussian Channel Using Higher Modulation Schemes.
This yields four phases’ π/4, 3π/4, 5π/4, and 7π/4.
In this project, the randomly generated bits were paired into two’s with each pair digitally
modulated. At the receiver end, the received soft values pertaining to the transmitted bits are
then demodulated using soft demodulation. In the soft demodulator, the received soft bits are
firstly detected and converted into 1’s and 0’s (corresponding to the received bit as at the
transmitter). For example if soft bits [-0.45 2.32] is received, this is converted into a [0 1]
bits. Euclidean distance between the received soft value and their corresponding received bits
of 0’s and 1 is then evaluated for symbols whose input bits are 0’s or a 1 for the entire QPSK
constellation scheme. The minimum Euclidean distance for each comparison is then selected
and subtracted from each other, resulting to the soft output from the demodulator.
Fig 4-4: Theoretical and Simulated BER against SNR in AWGN for QPSK
A typical QPSK modulation scheme is used in applications such as UMTS, terrestrial radio
and geostationary satellite communications because the bandwidth efficiency is doubled
without power penalty and is also it is a very power efficient modulation scheme [29].
4.4 Quadrature Amplitude Modulation
Quadrature Amplitude Modulation (QAM) is a form of modulation scheme that conveys two
analogue message signals or two digital bit streams by modulating the amplitudes of two
Bit Error Rate Performance Analysis of a Modern Channel Codec in Gaussian Channel Using Higher Modulation Schemes.
carrier waves using the amplitude shift keying digital modulation scheme. Two physically
dependent message signals are applied to two separate product modulators that are supplied
with two carrier waves of the same frequency but differing in phase by 90o [30]. They are
called quadrature carriers or components as a result of this difference. The transmitted signal
consists of a sum of these two products modulator outputs and they occupy the same
bandwidth. The resulting signal after the combination is a combination of both phase-shift
keying and amplitude-shift keying. At the receiver output, separation of the two message
signals occurs; hence it can be viewed as a bandwidth conservation scheme [31].
QAM conveys data by changing some aspect of a carrier signal in response to a data signal.
The amplitude of two waves, 90 degrees out-of-phase with each other (in quadrature) are
changed (modulated or keyed) to represent the data signal. Amplitude modulating two
carriers in quadrature can be equivalently viewed as both amplitude modulating and phase
modulating a single carrier.
In QAM, constellation points are arranged with vertical and horizontal spacing in a squared
grid. 16 QAM, 64 QAM, 128 QAM and 256 QAM are some of the most common forms of
QAM. With the increasing number of constellation points, the points get closer together and
it is possible to transmit more bits per symbol. However, due to the close proximity of these
points to each other, they are more susceptible to noise thus resulting in a higher BER.
Hence, a higher order QAM has a higher data rate but relays data less accurately that lower
order QAM.
The QAM signal waveform is expressed as
[32]
Where Am =
AI and AQ are information bearing signal amplitudes of the quadrature carriers and is the
phase modulation. The next section of this report focuses on the 16 QAM and the 64 QAM.
Bit Error Rate Performance Analysis of a Modern Channel Codec in Gaussian Channel Using Higher Modulation Schemes.
4.4.1 16 QAM
In 16QAM modulation, 16 points are present on the constellation diagram. It includes four in-
phase values and four quadrature values resulting in 16 different states for the signal. 4 bits
per symbol can be transmitted consisting of two bits for the in-phase component and two bits
for the quadrature component. Different ways exists of building up the signal constellation,
however rectangular signal constellations have the noticeable advantage that they can be
generated as two PAM signal impressed on the phase quadrature carriers and can easily be
demodulated. The constellation diagram is shown in Fig 4-5 below
Fig 4-5: Constellation Diagram for 16 QAM Modulation Scheme [33]
As was mentioned earlier, in 16 QAM, the four bits transmitted can be split into I and Q
components. Assuming the first and second bits b0and b1 respectively represents the I
component, and the third and fourth bits b2 and b3 represents the Q components, a table of
the I and Q components can be drawn [ Table 4-1]. If for instance an input sequence of 0000,
1101 is to be modulated, the two bits for the Q component are 00 and 11 while the two bits
for the I component are 00 and 01. From the table, it is observed that when modulated, 00 and
11 on the Q component modulate to -3 and +1 respectively while 00 and 01 on the I
component modulates to -3 and -1. Thus when combined, 0000 and 1101 is modulated to
(-3, -3) and (+1, -1).
Bit Error Rate Performance Analysis of a Modern Channel Codec in Gaussian Channel Using Higher Modulation Schemes.
b0b1 I b2b3 Q
00 -3 00 -3
01 -1 01 -1
11 +1 11 +1
10 +3 10 +3
Table 4-1: Constellation Mapping for 16 QAM
Performance of 16 QAM in AWGN in the case of BER can be expressed as
[34]
In this project, the randomly generated bits were paired into four’s with each pair digitally
modulated. At the receiver end, the received soft values pertaining to the transmitted bits are
then demodulated using soft demodulation. In the soft demodulator, the received soft bits are
firstly detected and converted into 1’s and 0’s (corresponding to the received bit as at the
transmitter). For example if soft bits [-0.45 2.32 1.45 -0.33] is received, this is converted into
a [0 1 1 0] bits. Euclidean distance between the received soft value and their corresponding
received bits of 0’s and 1 is then evaluated for symbols whose input bits are 0’s or a 1 for the
entire 16QAM constellation scheme. The minimum Euclidean distance for each comparison
is then selected and subtracted from each other, resulting to the soft output from the
demodulator.
Bit Error Rate Performance Analysis of a Modern Channel Codec in Gaussian Channel Using Higher Modulation Schemes.
Fig 4-6: Theoretical and Simulated BER against SNR for 16 QAM in AWGN
4.4.2 64 QAM
In 64QAM modulation, 64 points are present on the constellation diagram. It includes eight
in-phase values and eight quadrature values resulting in 64 different states for the signal. 6
bits per symbol can be transmitted consisting of three bits for the in-phase component and
three bits for the quadrature component. The constellation diagram is shown in Fig 4-7.
Bit Error Rate Performance Analysis of a Modern Channel Codec in Gaussian Channel Using Higher Modulation Schemes.
Fig 4-7: Constellation Diagram for 64 QAM [35]
Performance of 64 QAM in AWGN in the case of BER can be expressed as
[36]
Randomly generated bits were paired into six’s with each pair digitally modulated. At the
receiver end, the received soft values pertaining to the transmitted bits are then demodulated
using soft demodulation. In the soft demodulator, the received soft bits are firstly detected
and converted into 1’s and 0’s (corresponding to the received bit as at the transmitter). For
example if soft bits [-0.45 2.32 1.45 -0.33 0.33 1.90] is received, this is converted into a [0 1
1 0 1 1] bits. Euclidean distance between the received soft value and their corresponding
received bits of 0’s and 1 is then evaluated for symbols whose input bits are 0’s or a 1 for the
entire 64QAM constellation scheme. The minimum Euclidean distance for each comparison
is then selected and subtracted from each other, resulting to the soft output from the
demodulator.
Bit Error Rate Performance Analysis of a Modern Channel Codec in Gaussian Channel Using Higher Modulation Schemes.
Fig 4-8: Theoretical and Simulated BER against SNR for 64 QAM
4.5 Comparisons of BER in AWGN for Different Modulation Schemes
From the graphs of the BER against SNR obtained, comparisons can be made for the
different modulation schemes. It is observed that for the same data rate for BPSK and QPSK
modulation schemes, the BER are exactly the same but QPSK modulates at half the
bandwidth of BPSK. Also, it is noticed that as the number of constellation point increases, the
data rate increases but modulation schemes with a high number of constellation points are
more prone to error than those with lower constellation points. This increase in the BER,
results from the compact nature of the points on the constellation diagram for high
modulation schemes.
Bit Error Rate Performance Analysis of a Modern Channel Codec in Gaussian Channel Using Higher Modulation Schemes.
5. CHANNEL ENCODING
5.1 Overview of Channel Coding
The channel encoder aims to protect the source data against errors introduced by noise and
other types of distortion [37]. Channel encoding can be segmented into two study areas which
are waveform coding and structured sequences. Waveform coding deals with the
transformation of the waveform into better waveforms to enable detection process less
susceptible to errors. Structured sequences have to do with transformation of data sequences
into better sequences having structured redundancy (redundant bits). The redundant bits are
utilized at the receiver used for the detection and correction of errors [38, 37].
Two types of channel coding are
1 Block Coding: In this form of coding, the encoder accepts information in successive k-bit
blocks. The successive k-bit blocks are independent hence the encoder has zero-memory. The
encoder adds (n-k) redundant bits derived from logical operations on the k information bits to
form n-bit codewords [39].
2. Convolutional Coding: The encoder accepts information bits as a continuous sequence and
needs a memory of length m because the successive m bits are dependent. The encoder
operates on the incoming sequence using a sliding window of length m bits.
This report focuses on the convolutional coding type of channel coding.
5.2 Convolutional Coding
Convolution coding described by 3 integers n, k and K, is a form of error-correcting code
where the code rate of the code is k/n (information per coded bit). Redundant bits are
generated using modulo-2 convolutions. k is the information bit symbol to be encoded, and
this is transformed into an n-bit symbol. K the constraint length of the convolutional code,
expressed in bits is defined as the number of shifts over which a single message bit can
influence the encoder output [40]
An important characteristic of convolutional codes that differentiates it from block codes is
the availability of a memory in the encoder. Another characteristic of convolutional coding is
that the encoder must deal with sequences as the codeword cannot be separated unlike in
block coding where codewords are produced on a block by block basis. In an encoder with an
Bit Error Rate Performance Analysis of a Modern Channel Codec in Gaussian Channel Using Higher Modulation Schemes.
m-stage shift register, the memory of the encoder equals m message bits and K=M+1 shift are
required for a message bit to enter the shift register and finally come out. The memory order
of the code M=K-1.
How does it work? Each message sequence m is transformed into a unique codeword
U = G(m), where G is the generator polynomial. At each unit of time, k-bits are shifted into
the first k stages of the register. The bits in the memory register are shifted k stages to the
right and the outputs of the n adders are sequentially sampled to obtain the binary code
symbols or coded bits. In convolutional coding, a given k-tuple within m does not uniquely
define its assiociated n-tuple within U since the encoding of each k-tuple is not only a
function of that k-tuple but is also a function of the K-1 input k-tuples that preceeds it [41]
The modulator uses these code symbols to decide the waveforms to be transmitted over the
channel. Shifts register implements sliding windows and the input data are presented a block
at a time to k shift registers in parallel through a demultiplexer [42]. Output of the shift
registers are combined by n sets of weighted modulo-n adders.
A convolutional encoder can be represented in a couple of ways.
• Connection representation [43]
• Polynomial representation
• State Diagram
• Tree Diagram
• Trellis Diagram
The connection representation is the easiest to understand but the most important are the State
diagram, tree diagram and the trellis diagram.
For the implementation of the tree diagram, each branch of the tree represents an input
symbol with the corresponding pair of output binary symbols indicated on the branch. An
input 0, specifies the upper part of the branch, and a 1 represents the lower branch. A specific
path in the tree is traced from the left to the right in accordance with the input message
sequence to get its coded form. The corresponding coded symbols on the branches of that
path constitute the input message sequence. However, a primary setback in the tree diagram
is the size of the tree. The number of branches on the tree increases as a function of 2L where
Bit Error Rate Performance Analysis of a Modern Channel Codec in Gaussian Channel Using Higher Modulation Schemes.
L represents the number of bits in the message input sequence. The causes an exponential
increase in the size of the tree with the length of the message sequence and quickly becomes
unrestrained. This increase in size leads to a large amount of redundancy in the diagram and
it is observed that after a time t = K, the tree structure repeats itself. The reason being for this
that generally in the implementation of tree diagrams, the tree structure repeats itself after K
branching and from there onwards, the upper and lower halves of the trees are identical [44].
Since the upper and lower halves of the tree are identical and all succeeding paths will be
indistinguishable, they can be merged to reduce its size. The merging of these halves of the
tree diagram results in the trellis diagram.
The trellis diagram provides a more controllable encoder than the tree diagram and is very
important in convolutional coding as it is used for the decoding process. The concept for the
implementation of the trellis diagram is almost the same as that for the tree diagram but in
this, the output generated by an input bit 0 is represented by a straight solid line and the
output generated by an input bit 1 is represented by dashed lines. At each unit of time the
trellis requires 2K-1 nodes to represent the 2K-1 possible encoder states [45].
A convolutional encoder may take up a finite number of states between which it moves at
each block period according to the input block. The state diagram is a directed graph showing
the states and the allowed transitions between them. Branch labels indicate data input and
code output for each state transition in the form data/code.
A convolutional encoder may be systematic or non-systematic. A systematic convolutional
encoder is one in which the information bits and the parity bits are separated while in a non-
systematic convolutional code, the information bit and the parity bits cannot be separated.
Also, a convolutional code can be recursive or non-recursive. A non-recursive convolutional
code is one that has only a feed forward system but no feedback. A recursive convolutional
code employs a feedback mechanism (feeding one or more of the tap outputs in the shift
register back to the input) [46].
Bit Error Rate Performance Analysis of a Modern Channel Codec in Gaussian Channel Using Higher Modulation Schemes.
5.3 Viterbi Decoding Algorithm
The concept for decoding a convolutional code is the Maximum Likelihood Decoding (MLD)
concept. According to this concept, the decoder chooses a particular received codeword
sequence corrupted with noise as the transmitted sequence if the likelihood is greater than all
the other possible likelihoods of the other transmitted sequences. The viterbi decoding
algorithm is the decoder used in decoding convolutional codes and it performs MLD.
Viterbi decoding algorithm was discovered by viterbi in 1967 [47]. It uses the trellis diagram
for the decoding process. This algorithm involves calculating a measure of similarity or
distance between the received signal at a particular time instant and all the trellis paths
entering each state at that time instant. The decoder does this and advances deeper into the
trellis eliminating trellis paths not considered for maximum likelihood choice from the trellis
diagram. When two paths enter the same state, the chosen path is called the surviving path
[48].
Two types of viterbi decoding include:
1. Hard output-decision Viterbi Algorithm (HODA): finds a path through the trellis that
most likely resembles the received code sequence and deletes the other paths. This
closest path here is found in terms of Hamming distance. Also, the output of the
demodulator here is quantized to two levels, 0 and 1 and fed into the decoder.
2. Soft output-decision Viterbi Algorithm (SOVA): Here, Euclidean distance metric is
used instead of hamming distance. The received bit used in the Euclidean distance
metric is processed by multi-bit quantization. This method provides the decoder with
more information than is provided in the hard decision case.
Every message decision out of the decoder must be a hard decision however; soft-decision
viterbi algorithm provides the decoder with more information which helps for better
recovering of the message sequence with a better error performance as compared to that of
hard decision decoding.
This report shall discuss a Recursive Systematic Convolutional code (RSC). This is a
convolutional code that has both feedfoward generator and feedback generator and where the
input and parity bits are easily separable. The reason for making the convolutional codes
recursive is to make the internal state of shift register depend on past outputs. This affects the
behaviour of the error patterns (a single error in the systematic bit produces an infinite
Bit Error Rate Performance Analysis of a Modern Channel Codec in Gaussian Channel Using Higher Modulation Schemes.
number of parity errors), with the results that a better performance of the overall coding
strategy is attained [49].
The feedfoward generator in octal is 15 but translates to 1101 in binary. The feedback
generator is 13 in octal and translates to 1011 in binary. The convolutional encode has an
input of one (i.e. it takes a message sequence one at a time) and an output of two. This gives
it a code rate of ½.
5.4 Modulation Schemes with Convolutional Code
QPSK with Convolutional Code
In this project, randomly generated information bits are firstly encoded with the
Convolutional encoder. The encoded bits are then digitally modulated using the BPSK
modulation scheme. The modulated signals are then transmitted in a Gaussian channel. At
the receiver end, the received soft values are then directly fed into the SOVA decoder. The
SOVA decoder then outputs soft values which it believes is the originally transmitted symbol.
The output from the SOVA is then sent into a detector to where soft values lower than zero is
assigned a 0 and soft values above zero is assigned a 1. The detected bits are then compared
with the originally generated random bits for the computation of the bit error rate (BER) at
that particular signal to noise ratio.
Fig 5-1: BPSK with Convolutional Code and theoretical and Simulated BER against SNR in
AWGN
Bit Error Rate Performance Analysis of a Modern Channel Codec in Gaussian Channel Using Higher Modulation Schemes.
QPSK with Convolutional Code
In this project, randomly generated information bits are firstly encoded with the
Convolutional encoder. The encoded bits are then digitally modulated using the QPSK
modulation scheme. The modulated signals are then transmitted in a complex Gaussian
channel. At the receiver end, the received soft values are then sent into the QPSK soft
demodulator as explained in the case of the uncoded QPSK system. The output from soft
demodulator is then fed into the SOVA decoder. The SOVA decoder then outputs soft values
which it believes is the originally transmitted symbol.
The output from the SOVA is then sent into a detector to where soft values lower than zero is
assigned a 0 and soft values above zero is assigned a 1. The detected bits are then compared
with the originally generated random bits for the computation of the bit error rate (BER) at
that particular signal to noise ratio.
Fig 5-2: QPSK with Convolutional Code and theoretical and Simulated BER against SNR in
AWGN
Bit Error Rate Performance Analysis of a Modern Channel Codec in Gaussian Channel Using Higher Modulation Schemes.
16 QAM with Convolutional Code
In this project, randomly generated information bits are firstly encoded with the
Convolutional encoder. The encoded bits are then digitally modulated using the 16QAM
modulation scheme. The modulated signals are then transmitted in a complex Gaussian
channel. At the receiver end, the received soft values are then sent into the 16QAM soft
demodulator as explained in the case of the uncoded QPSK system. The output from soft
demodulator is then fed into the SOVA decoder. The SOVA decoder then outputs soft values
which it believes is the originally transmitted symbol.
The output from the SOVA is then sent into a detector to where soft values lower than zero is
assigned a 0 and soft values above zero is assigned a 1. The detected bits are then compared
with the originally generated random bits for the computation of the bit error rate (BER) at
that particular signal to noise ratio.
Fig 5-3: 16QAM with Convolutional Code and theoretical and Simulated BER against SNR
in AWGN
Bit Error Rate Performance Analysis of a Modern Channel Codec in Gaussian Channel Using Higher Modulation Schemes.
64 QAM with Convolutional Code
In this project, randomly generated information bits are firstly encoded with the
Convolutional encoder. The encoded bits are then digitally modulated using the 16QAM
modulation scheme. The modulated signals are then transmitted in a complex Gaussian
channel. At the receiver end, the received soft values are then sent into the 16QAM soft
demodulator as explained in the case of the uncoded QPSK system. The output from soft
demodulator is then fed into the SOVA decoder. The SOVA decoder then outputs soft values
which it believes is the originally transmitted symbol.
The output from the SOVA is then sent into a detector to where soft values lower than zero is
assigned a 0 and soft values above zero is assigned a 1. The detected bits are then compared
with the originally generated random bits for the computation of the bit error rate (BER) at
that particular signal to noise ratio.
Fig 5-4: 64QAM with Convolutional Code and theoretical and Simulated BER against SNR
in AWGN
Bit Error Rate Performance Analysis of a Modern Channel Codec in Gaussian Channel Using Higher Modulation Schemes.
5.5 Discussion of results
Coding Gain
This is defined as the reduction in the required SNR to achieve a specified probability. It is
the measure in the difference between the SNR ratio levels between the coded and the
uncoded system required to reach the same BER levels when used with error correcting
coding.
The performance curves obtained from the four different modulation schemes have been
investigated. If for instance, the uncoded BPSK modulation scheme with is observed, it is
noticed that at a BER of 10-2 for instance, the corresponding SNR value is approximately
4dB. While that of the coded BPSK modulation scheme is approximately 2dB at the same
BER. From this, it is illustrated that the coded scheme gives at least 2 dB coding gain over
the uncoded case. The importance of coding gain in communication systems cannot be
overemphasised due to the merit it gives in communication systems. First, coding gain
ensures less power is required in the transmission system while maintaining the systems
transmission reliability. This in turn brings a lot of financial savings to the communication
providers.
Also, the slight degradation in performance between the different coded systems illustrates
the trade-off between data security and error propagation due to noise. In generating the BER
plots shown, it was observed that degradation decreases as the amount of noise in the system
falls.
6. CONCLUSION This report has described the design and simulation of digital communication systems using
higher modulation schemes in AWGN channel. The performance of digital communication
systems have been analysed using a plot of the BER against SNR. This report also shows that
the use of channel coding is very important in today’s digital communication systems. First,
channel coding increases the reliability of the transmission system. Secondly, power (energy)
Bit Error Rate Performance Analysis of a Modern Channel Codec in Gaussian Channel Using Higher Modulation Schemes.
savings is done with the use of channel coding to the advantage of the communication service
providers and also making the world a greener place to live.
Bit Error Rate Performance Analysis of a Modern Channel Codec in Gaussian Channel Using Higher Modulation Schemes.
References [1] Haykin S. 4ed. Communication Systems. New Jersey: John Wiley & Sons, 2001.
[2] Haykin S. 4ed. Communication Systems. New Jersey: John Wiley & Sons, 2001.
[3] Bernard S. A Structured Overview of Digital Communications. IEEE Communications
Magazine, August 1983, Fig 1, p.5.
[4] Bernard S. 2ed. Digital Communications: Fundamentals and Applications. New Jersey:
Prentice Hall, 2001.
[5] Bernard S. 2ed. Digital Communications: Fundamentals and Applications. New Jersey:
Prentice Hall, 2001.
[6] Bernard S. 2ed. Digital Communications: Fundamentals and Applications. New Jersey:
Prentice Hall, 2001.
[7] Haykin S. 4ed. Communication Systems. New Jersey: John Wiley & Sons, 2001.
[8] Haykin S. 4ed. Communication Systems. New Jersey: John Wiley & Sons, 2001.
[9] Bernard S. 2ed. Digital Communications: Fundamentals and Applications. New Jersey:
Prentice Hall, 2001.
[10] Bernard S. 2ed. Digital Communications: Fundamentals and Applications. New Jersey:
Prentice Hall, 2001.
[11] Bernard S. 2ed. Digital Communications: Fundamentals and Applications. New Jersey:
Prentice Hall, 2001.
[12] Li X Zhang. ELEC 5446, Coding and Modulation for Digital Communication System
Lecture Notes, University of Leeds UK, 2009, not published.
[13] Bernard S. 2ed. Digital Communications: Fundamentals and Applications. New Jersey:
Prentice Hall, 2001.
[14] Haykin S. 4ed. Communication Systems. New Jersey: John Wiley & Sons, 2001.
[15] Li X Zhang. ELEC 5446, Coding and Modulation for Digital Communication System
Lecture Notes, University of Leeds UK, 2009, not published.
Bit Error Rate Performance Analysis of a Modern Channel Codec in Gaussian Channel Using Higher Modulation Schemes.
[16] Haykin S. 4ed. Communication Systems. New Jersey: John Wiley & Sons, 2001.
[17] Haykin S. 4ed. Communication Systems. New Jersey: John Wiley & Sons, 2001.
[18] Proakis J. 4ed Digital Communications. New York, McGraw Hill, 2000
[19] Bernard S. 2ed. Digital Communications: Fundamentals and Applications. New Jersey:
Prentice Hall, 2001.
[20] Bernard S. 2ed. Digital Communications: Fundamentals and Applications. New Jersey:
Prentice Hall, 2001.
[21] Bernard S. 2ed. Digital Communications: Fundamentals and Applications. New Jersey:
Prentice Hall, 2001.
[22]
[23] Haykin S. 4ed. Communication Systems. New Jersey: John Wiley & Sons, 2001.
[24] Haykin S. 4ed. Communication Systems. New Jersey: John Wiley & Sons, 2001.
[25] Haykin S. 4ed. Communication Systems. New Jersey: John Wiley & Sons, 2001.
[26] Haykin S. 4ed. Communication Systems. New Jersey: John Wiley & Sons, 2001.
[27] Li X Zhang. ELEC 5446, Coding and Modulation for Digital Communication System
Lecture Notes, University of Leeds UK, 2009, not published.
[28] Haykin S. 4ed. Communication Systems. New Jersey: John Wiley & Sons, 2001.
[29] Li X Zhang. ELEC 5446, Coding and Modulation for Digital Communication System
Lecture Notes, University of Leeds UK, 2009, not published.
[30] Li X Zhang. ELEC 5446, Coding and Modulation for Digital Communication System
Lecture Notes, University of Leeds UK, 2009, not published.
[31] Li X Zhang. ELEC 5446, Coding and Modulation for Digital Communication System
Lecture Notes, University of Leeds UK, 2009, not published.
[32] Santoso T. B. Developing on Simulation Programming of 16QAM in the AWGN Channel
[online]. [Accessed 2nd May 2011]. Available from: http://lecturer.eepis-
its.edu/~tribudi/LN_suzuki_fukawa_lab/finalr7.pdf
Bit Error Rate Performance Analysis of a Modern Channel Codec in Gaussian Channel Using Higher Modulation Schemes.
[33] DSP Log Signal Processing for Communication [online]. [Accessed 3rd May 2011].
Available from: http://www.dsplog.com/2008/06/05/16qam-bit-error-gray-mapping/
[34] Harada H and Prasad R: Simulation and Software Radio for Mobile Communications.
Boston, Artech House Publishers.
[35] [online]. [Accessed 10th May 2011]. Available from
http://www.atmovermpeg.com/images/64-qam-constellation-diagram.gif
[36] Harada H and Prasad R: Simulation and Software Radio for Mobile Communications.
Boston, Artech House Publishers.
[37] Li X Zhang. ELEC 2430, Channel Coding. Lecture Notes, University of Leeds UK,
2010, not published.
[38] Bernard S. 2ed. Digital Communications: Fundamentals and Applications. New Jersey:
Prentice Hall, 2001.
[39] Li X Zhang. ELEC 2430, Channel Coding. Lecture Notes, University of Leeds UK,
2010, not published.
[40] Bernard S. 2ed. Digital Communications: Fundamentals and Applications. New Jersey:
Prentice Hall, 2001.
[41] Bernard S. 2ed. Digital Communications: Fundamentals and Applications. New Jersey:
Prentice Hall, 2001.
[42] Li X Zhang. ELEC 5446, Coding and Modulation for Digital Communication System
Lecture Notes, University of Leeds UK, 2009, not published.
[43] Bernard S. 2ed. Digital Communications: Fundamentals and Applications. New Jersey:
Prentice Hall, 2001.
[44] Bernard S. 2ed. Digital Communications: Fundamentals and Applications. New Jersey:
Prentice Hall, 2001.
[45] Bernard S. 2ed. Digital Communications: Fundamentals and Applications. New Jersey:
Prentice Hall, 2001.
Bit Error Rate Performance Analysis of a Modern Channel Codec in Gaussian Channel Using Higher Modulation Schemes.
[46] Bernard S. 2ed. Digital Communications: Fundamentals and Applications. New Jersey:
Prentice Hall, 2001.
[47] Bernard S. 2ed. Digital Communications: Fundamentals and Applications. New Jersey:
Prentice Hall, 2001.
[48] Bernard S. 2ed. Digital Communications: Fundamentals and Applications. New Jersey:
Prentice Hall, 2001.
[49] Bernard S. 2ed. Digital Communications: Fundamentals and Applications. New Jersey:
Prentice Hall, 2001.
Bibliography
Bit Error Rate Performance Analysis of a Modern Channel Codec in Gaussian Channel Using Higher Modulation Schemes.
APPENDIX A : UNCODED BPSK SIMULATION OVER AWGN clear all EbN0db = input(' Please enter Eb/N0 in dB : default [2.0] '); % This is a loop to help with the determination of the Eb/N0 in dB values if isempty(EbN0db) % the default values here are 0 to 10 dB EbN0db = [0:1:10]; end no_frame = input(' Please enter number of frames to be transmitted : '); % This is a loop to help with the determination of the number of frames used in the simulation if isempty(no_frame) % the default values here are 1 frame no_frame = [1]; end for nEN = 1:length(EbN0db) % this is the loop for the execution of the Eb/N0 values rate = 1 ; eb_n0_dB = EbN0db eb_n0_linear = 10^(eb_n0_dB(nEN)/10); noiseStdDev_bpsk = 1/sqrt(2*rate*eb_n0_linear); err = zeros(1,1) ; % help for computing the Bit error rate errs(nEN,1:1) = zeros(1,1) ; % help for computing the Bit error rate nferrs(nEN,1:1) = zeros(1,1) ; % help for computing the Bit error rate for nframe = 1:no_frame % this is the loop for the execution of the number of frames nos_bits = 5000 ; % this is the number of bits per frame x= round(rand(1,nos_bits)); % random data generation tx = 2*(x-0.5); % BPSK modulation before transmitting signal to -1 or +1 rx = tx + noiseStdDev_bpsk*randn(1,5000); % received BPSK modulated signal in an AWGN channel % Estimate the info. bits xhat = (sign( rx)+1)/2 ; % estimation of what the receivd bit is err = length(find(xhat~=x)) ; % Number of bit errors errs(nEN) = errs(nEN) + err ; % accumulation of the number of bits in errors end
Bit Error Rate Performance Analysis of a Modern Channel Codec in Gaussian Channel Using Higher Modulation Schemes.
ber(nEN) = errs(nEN)/(nos_bits*nframe) ; %calculate the bit error rate (BER) end % end of the Eb/N0 value loop. xx= [EbN0db] ; semilogy(xx,ber(1:nEN),'b'); %plot the graph hold on; % Theoretical BER %xx= [EbN0db] ; %YY= 0.5*erfc (sqrt(10.^(EbN0db/10)));
APPENDIX B: UNCODED QPSK SIMULATION OVER AWGN clear all; tic ; EbN0db = input(' Please enter Eb/N0 in dB : default [2.0] '); if isempty(EbN0db) EbN0db = [2.0]; end no_frame = input(' Please enter number of frames to be transmitted : '); if isempty(no_frame) no_frame = [1]; end k_Symbol_qpsk = 2; P_av_qam = 1; for nEN = 1:length(EbN0db) en = 10^(EbN0db(nEN)/10); noiseStdDev_qpsk = sqrt( P_av_qam /(k_Symbol_qpsk * en)); err = zeros(1,1) ; errs(nEN,1:1) = zeros(1,1) ; nferrs(nEN,1:1)= zeros(1,1) ; for nframe = 1: no_frame nos_bits = 5000; x= round(rand(1,nos_bits)); [AA GG] = size(x) ;
Bit Error Rate Performance Analysis of a Modern Channel Codec in Gaussian Channel Using Higher Modulation Schemes.
% QPSK Modulate U = GG/2 ; for sym_No2 = 1 : U qamSymbol(sym_No2,:) = x(1,(sym_No2 - 1)*2 + 1 : (sym_No2 - 1)*2 + 2); inputSeq2(sym_No2,:) = enc_qpsk2(qamSymbol(sym_No2,:)); end inputSeqI2 = inputSeq2(:,1); inputSeqQ2 = inputSeq2(:,2); %----------------------------------------------------------- % Channel %----------------------------------------------------------- real_sig = inputSeqI2 ; imag_sig = inputSeqQ2 ; % Add AWGN noise noiseI_qam = randn(1, U ) * noiseStdDev_qpsk; noiseQ_qam = randn(1, U ) * noiseStdDev_qpsk; receiveI_qam = real_sig + (noiseI_qam)'; receiveQ_qam = imag_sig + (noiseQ_qam)'; %----------------------------------------------------------- % Demodulate %----------------------------------------------------------- despread_symbol = [reshape(receiveI_qam,U,1) reshape(receiveQ_qam,U,1)]; for output_No = 1 : U [output_qam_sd(output_No,:)] = sd_hd_qpsk(despread_symbol(output_No,:)); output_r_sd = reshape(output_qam_sd(output_No,:), 2, 1); outputSymbolsd1((output_No - 1)*2 + 1 : (output_No - 1)*2 + 2,:) = output_r_sd; end outputSymbolsd = outputSymbolsd1' ; r( 1,: ) = outputSymbolsd ; % Estimate the info. bits xest = (sign( r)+1)/2 ; % Number of bit errors in current iteration
Bit Error Rate Performance Analysis of a Modern Channel Codec in Gaussian Channel Using Higher Modulation Schemes.
err = length(find(xest~=x)) ; errs(nEN) = errs(nEN) + err ; end ber(nEN) = errs(nEN)/(nos_bits*nframe) % end %nEN xx= [EbN0db] ; semilogy(xx,ber(1:nEN),'b'); hold on; % Theoretical BER %YY= 0.5*erfc (sqrt(10.^(EbN0db/10))); %semilogy(xx,YY); toc ;
APPENDIX C: UNCODED 16QAM IN AWGN clear all; tic ; EbN0db = input(' Please enter Eb/N0 in dB : default [2.0] '); if isempty(EbN0db) EbN0db = [2.0]; end no_frame = input(' Please enter number of frames to be transmitted : '); if isempty(no_frame) no_frame = [1]; end k_Symbol_16qam = 4; P_av_qpsk = 5; for nEN = 1:length(EbN0db) L_c=1; en = 10^(EbN0db(nEN)/10); noiseStdDev_qpsk = sqrt( P_av_qpsk /(k_Symbol_16qam * en)); err = zeros(1,1) ; errs(nEN,1:1) = zeros(1,1) ; nferrs(nEN,1:1)= zeros(1,1) ; for nframe = 1: no_frame
Bit Error Rate Performance Analysis of a Modern Channel Codec in Gaussian Channel Using Higher Modulation Schemes.
nos_bits = 5000; x= round(rand(1,nos_bits)); [AA GG] = size(x) ; % 16QAM Modulate U = GG/4 ; for sym_No2 = 1 : U qamSymbol(sym_No2,:) = x(1,(sym_No2 - 1)*4 + 1 : (sym_No2 - 1)*4 + 4); inputSeq2(sym_No2,:) = enc_16qam2(qamSymbol(sym_No2,:)); end inputSeqI2 = inputSeq2(:,1); % take everything for the 1st column inputSeqQ2 = inputSeq2(:,2); % take everything for the 2nd column %----------------------------------------------------------- % Channel %----------------------------------------------------------- real_sig = inputSeqI2 ; imag_sig = inputSeqQ2 ; % Add AWGN noise noiseI_qam = randn(1, U ) * noiseStdDev_qpsk; noiseQ_qam = randn(1, U ) * noiseStdDev_qpsk; receiveI_qam = real_sig + (noiseI_qam)'; receiveQ_qam = imag_sig + (noiseQ_qam)'; %----------------------------------------------------------- % Demodulate %----------------------------------------------------------- despread_symbol = [receiveI_qam receiveQ_qam]; for output_No = 1 : U [output_qam_sd(output_No,:)] = sd_hd_16qam(despread_symbol(output_No,:)); output_r_sd = reshape(output_qam_sd(output_No,:), 4, 1); outputSymbolsd1((output_No - 1)*4 + 1 : (output_No - 1)*4 + 4,:) = output_r_sd; end
Bit Error Rate Performance Analysis of a Modern Channel Codec in Gaussian Channel Using Higher Modulation Schemes.
L_all = outputSymbolsd1' ; % Estimate the info. bits xhat = (sign(L_all)+1)/2 ; % Number of bit errors in current iteration err = length(find(xhat(1:5000)~=x)) ; errs(nEN) = errs(nEN) + err end ber(nEN) = errs(nEN)/(nos_bits*nframe) % end %nEN xx= [EbN0db] ; semilogy(xx,ber(1:nEN),'*'); hold on; %Theoretical BER %YY= ((3/8)*erfc (sqrt((2/5)*(10.^(EbN0db/10)))))-((9/64)*(erfc (sqrt((2/5)*(10.^(EbN0db/10))))).^2); %semilogy(xx,YY); toc ;
APPENDIX D: UNCODED 64QAM IN AWGN clear all; tic ; EbN0db = input(' Please enter Eb/N0 in dB : default [2.0] '); if isempty(EbN0db) EbN0db = [2.0]; end no_frame = input(' Please enter number of frames to be transmitted : '); if isempty(no_frame) no_frame = [1]; end niter =1 ;
Bit Error Rate Performance Analysis of a Modern Channel Codec in Gaussian Channel Using Higher Modulation Schemes.
k_Symbol_qpsk = 6; P_av_qpsk = 21; for nEN = 1:length(EbN0db) L_c=1; en = 10^(EbN0db(nEN)/10); noiseStdDev_qpsk = sqrt( P_av_qpsk /(k_Symbol_qpsk * en)); err = zeros(1,1) ; errs(nEN,1:1) = zeros(1,1) ; nferrs(nEN,1:1)= zeros(1,1) ; for nframe = 1: no_frame nos_bits = 5004; x= round(rand(1,nos_bits)); [AA GG] = size(x) ; % 16QAM Modulate U = GG/6 ; for sym_No2 = 1 : U qamSymbol(sym_No2,:) = x(1,(sym_No2 - 1)*6 + 1 : (sym_No2 - 1)*6 + 6); inputSeq2(sym_No2,:) = enc_64qam2(qamSymbol(sym_No2,:)); end inputSeqI2 = inputSeq2(:,1); inputSeqQ2 = inputSeq2(:,2); %----------------------------------------------------------- % Channel %----------------------------------------------------------- real_sig = inputSeqI2 ; imag_sig = inputSeqQ2 ; % Add AWGN noise noiseI_qam = randn(1, U ) * noiseStdDev_qpsk; noiseQ_qam = randn(1, U ) * noiseStdDev_qpsk; receiveI_qam = real_sig + (noiseI_qam)'; receiveQ_qam = imag_sig + (noiseQ_qam)';
Bit Error Rate Performance Analysis of a Modern Channel Codec in Gaussian Channel Using Higher Modulation Schemes.
%----------------------------------------------------------- % Demodulate %----------------------------------------------------------- despread_symbol = [receiveI_qam receiveQ_qam]; for output_No = 1 : U [output_qam_sd(output_No,:)] = sd_hd_64qam(despread_symbol(output_No,:)); output_r_sd = reshape(output_qam_sd(output_No,:), 6, 1); outputSymbolsd1((output_No - 1)*6 + 1 : (output_No - 1)*6 + 6,:) = output_r_sd; end L_all = outputSymbolsd1' ; % Estimate the info. bits xhat = (sign(L_all)+1)/2 ; % Number of bit errors in current iteration err = length(find(xhat(1:length(x))~=x)) ; errs(nEN) = errs(nEN) + err end ber(nEN) = errs(nEN)/(nos_bits*nframe) % end %nEN xx= [EbN0db] ; semilogy(xx,ber(1:nEN),'*'); hold on; YY= ((7/24)*erfc (sqrt((1/7)*(10.^(EbN0db/10)))))-((49/384)*(erfc (sqrt((1/7)*(10.^(EbN0db/10))))).^2); Semilogy (xx YY) toc ;
APPENDIX E: CODED BPSK IN AWGN