design and simulation of coded-modulation using turbo
TRANSCRIPT
Design and Simulation of Coded-Modulation Using Turbo Trellis Coding and Multi-
Layer Modulations
A dissertation presented to
the faculty of
the Russ College of Engineering and Technology of Ohio University
In partial fulfillment
of the requirements for the degree
Doctor of Philosophy
Fatemeh Khalili
December 2017
© 2017 Fatemeh Khalili. All Rights Reserved.
2
This dissertation titled
Design and Simulation of Coded-Modulation Using Turbo Tellis Coding and Multi-Layer
Modulations
by
FATEMEH KHALILI
has been approved for
the School of Electrical Engineering and Computer Science
and the Russ College of Engineering and Technology by
Jeffrey C. Dill
Professor of Electrical Engineering and Computer Science
Dennis Irwin
Dean, Russ College of Engineering and Technology
3
ABSTRACT
KHALILI, FATEMEH, Ph.D., December 2017, Electrical Engineering
Design and Simulation of Coded-Modulation Using Turbo Trellis Coding and Multi-Layer
Modulations
Director of Dissertation: Jeffrey C. Dill
For modern wireless communication systems bandwidth efficiency and energy
efficiency are the vital requirements for reasonable performance. Bandwidth determined
by the rate at which information can be sent via the channel and the maximum rate at which
error free information can be communicated is introduced as channel capacity by Shannon.
Bandwidth efficiency or spectral efficiency is often satisfied by exploiting appropriate
modulation scheme. Energy efficiency or power efficiency depends on the amount of
power that a system uses which is a critical issue for wireless and cellular communications.
It also shows the system tolerance against the environment noise. Energy efficiency can be
improved by applying error correcting codes that produces lower error probability at the
receiver for a fixed signal to noise ratio. In order to achieve both requirements, the idea of
coded modulation technique which combines QPSK and OFDM modulation with a low
rate, short block systematic turbo code, is proposed. We aim to achieve exceptional energy
efficiency in extremely noisy environments, where moderate data rates and short messages
are required. For this proposed model, the performance improvement is produced by a
unique mapping of trellis structure error correcting code and spectral efficiency is achieved
by exploiting OFDM modulation. The designed OFDM distributes systematic and parity
symbols along all sub-channels symmetrically and adjusts their power distinctively to
4
achieve superior bit error performance. Further, we utilize four-dimensional M-ary
Quadrature Amplitude Modulation (4D-MQAM) for parity symbols which effectively
increases the overall rate of the system while maintaining the same level of energy
efficiency. Moreover, we apply puncturing for parity symbols to increase overall rate of
the system and improve bandwidth efficiency. Also, we applied non-systematic coding
structure to increase coding rate with less puncturing rate while maintaining the error rate
as low as possible. The resulting performance of our designed system compared with the
theoretical sphere packing lower bound indicates a very small gap (less than 0.5 dB) which
means a substantially close approach to the Shannon limit.
6
ACKNOWLEDGMENTS
The completion of this dissertation would not be possible without all the help and
support that I received during my PhD career at Ohio University. Foremost, I thank
almighty God for all the help and support throughout my life.
I would like to express my sincere gratitude to my adviser, Professor Jeffrey C.
Dill, for his enthusiasm, motivation and guidance during the planning and development of
this research. He has patiently supported and encouraged me during my program. His
intellectual directions, valuable suggestions, knowledge, and most of all, his patience,
made this work possible.
I would also like to thank Professor Gurgen Hayrapetyan for helping us to verify
the mathematical theory of our work.
I would also like to appreciate my committee members, Professor Chris Bartone,
Professor Maarten Uijt de Haag, Professor Douglas Lawrence, Professor Savas Kaya,
Professor Sergio Lopez-Permouth, and Professor Gurgen Hayrapetyan for being a part of
my dissertation committee, and dedicating their valuable time on reviewing the dissertation
and providing constructive feedback and comments.
I would also like to extend my gratitude to Engineering and Math departments
community for their kindness and support during my program and providing me with
invaluable opportunity to grow and succeed.
Finally, I would like to give my special thanks to my family who have been always
supporting and encouraging me to achieve my goals.
7
TABLE OF CONTENTS
Page
Abstract ............................................................................................................................... 3
Dedication ........................................................................................................................... 5
Acknowledgments............................................................................................................... 6
List of Tables ...................................................................................................................... 9
List of Figures ................................................................................................................... 10
Chapter 1: Introduction ..................................................................................................... 12
1.1 The Scope of Channel Coding .............................................................. 12
1.2 Coded Modulation ................................................................................ 14
1.3 Dissertation Objectives ......................................................................... 15
Chapter 2: Background ..................................................................................................... 19
2.1 Modulation ............................................................................................ 19
2.1.1 PSK and QPSK Modulation.............................................................. 20
2.1.2 QAM and 4D-QAM Modulation ...................................................... 23
2.1.3 OFDM Modulation ........................................................................... 26
2.2 Channel Coding .................................................................................... 28
2.2.1 Turbo Coding .................................................................................... 30
2.2.2 Turbo Encoding ................................................................................ 31
2.2.3 Turbo Decoding ................................................................................ 33
2.3 Coded Modulation ................................................................................ 36
2.3.1 Trellis Coded Modulation ................................................................. 37
8
2.3.2 Turbo Trellis Coded Modulation ...................................................... 37
2.3.3 Interleaver ......................................................................................... 40
Chapter 3: Methodology and System Model .................................................................... 43
3.1 Introduction ........................................................................................... 43
3.2 System Model ....................................................................................... 45
3.2.1 Channel Coding ................................................................................ 45
3.2.2 Modulation ........................................................................................ 49
3.2.3 Four-Dimensional M-Ary QAM ....................................................... 52
3.2.4 Vector Selection ................................................................................ 53
3.2.5 Modem Scheme ................................................................................ 56
3.3 System Enhancement and Performance Improvement ......................... 56
3.3.1 Puncturing ......................................................................................... 56
3.3.2 Modulation Alternative ..................................................................... 60
3.3.3 Coding Consideration ....................................................................... 61
Chapter 4: Simulation Results .......................................................................................... 62
4.1 Test Set.................................................................................................. 62
4.2 Results of Different Structures.............................................................. 64
Chapter 5: Conclusion and Future Work .......................................................................... 77
5.1 Future Directions .................................................................................. 78
References ......................................................................................................................... 80
9
LIST OF TABLES
Page
Table 1 Summary of Coding Theory Landmarks ............................................................. 14
Table 2 State Table for 16 State Trellis ............................................................................ 46
10
LIST OF FIGURES
Page
Figure 1 QPSK Modulator ................................................................................................ 22
Figure 2 QPSK Demodulator ............................................................................................ 22
Figure 3 Simple Structure of QAM Modulator [43] ......................................................... 24
Figure 4 Simple Structure of QAM Demodulator [43] ..................................................... 24
Figure 5 General Structure of OFDM [56] ....................................................................... 27
Figure 6 Turbo Code Encoder ........................................................................................... 32
Figure 7 Turbo Code Decoder [70] ................................................................................... 34
Figure 8 TTCM Encoder [20] (Reprint by permission) .................................................... 38
Figure 9 TTCM Decoder [20] (Reprint by permission) .................................................... 40
Figure 10 Encoder Block Diagram ................................................................................... 47
Figure 11 Decoder Block Diagram ................................................................................... 49
Figure 12 Constellation Representation ............................................................................ 54
Figure 13 Puncturing Pattern ............................................................................................ 59
Figure 14 Block Diagram of the Designed System .......................................................... 63
Figure 15 Word Error Rate for Rate 1/10 Short Codewords ............................................ 65
Figure 16 Comparison of 16-State Duobinary Code Rate 1/10 and Existing DVBRCS with
Sphere Packing Lower Bound [22] as a Function of Information Block Size and a Fixed
Word Error Probability Pw=10-4 ........................................................................................ 66
Figure 17 Word Error Rate for Rate 1/5 Short Codewords .............................................. 67
11
Figure 18 Comparison of 16-State Duobinary Code Rate 1/5 and Existing DVBRCS with
Sphere Packing Lower Bound [22] as a Function of Information Block Size and a Fixed
Word Error Probability Pw=10-4 ........................................................................................ 68
Figure 19 Word Error Rate for Rate 1/4 Short Codewords .............................................. 69
Figure 20 Comparison of 16-State Duobinary Code Rate 1/4 and Existing DVBRCS with
Sphere Packing Lower Bound [22] as a Function of Information Block Size and a Fixed
Word Error Probability Pw=10-4 ........................................................................................ 70
Figure 21 Word Error Rate for Rate 3/11 Short Codewords ............................................ 71
Figure 22 Comparison of 16-State Duobinary Code Rate 3/11 and Existing DVBRCS with
Sphere Packing Lower Bound [22] as a Function of Information Block Size and a Fixed
Word Error Probability Pw=10-4 ........................................................................................ 72
Figure 23 Word Error Rate for Rate 1/3 Short Codewords Using QAM for Systematic Bits
........................................................................................................................................... 73
Figure 24 Comparison of 16-State Duobinary Code Rate 1/3 Using QAM for Systematic
Bits and Existing DVBRCS with Sphere Packing Lower Bound [22] as a Function of
Information Block Size and a Fixed Word Error Probability Pw=10-4 ............................. 74
Figure 25 Word Error Rate for Rate 1/3 Short Codewords for Non-Systematic .............. 75
Figure 26 Comparison of 16-State Duobinary Code Rate 1/3 with Non-Systematic Coding
and Existing DVBRCS with Sphere Packing Lower Bound [22] as a Function of
Information Block Size and a Fixed Word Error Probability Pw=10-4 ............................. 76
12
CHAPTER 1: INTRODUCTION
1.1 The Scope of Channel Coding
Information theory is the science of reliable storing, compressing, and
communicating information and has been developed to find limits on these operations. In
his essential publication [1], Claude E. Shannon, known as the father of information theory,
showed that bandwidth and noise are the two factors that can characterize any
communications channel. Knowing the bandwidth and noise characteristic of a channel,
we can calculate the maximum rate at which error free information can be communicated.
This rate is called channel capacity or Shannon limit. The capacity C of the Additive White
Gaussian Noise (AWGN) channel with bandwidth W, average received signal power S, and
average noise power N is calculated as:
)1(log 2 NSWC (1)
Approaching the capacity of AWGN channel has been one of the most discussed
topics in information theory and coding theory ever since. Based on coding theory, as long
as the coding rate is less than or equal to the channel capacity, there exists at least one
sufficiently long code with infinitely small error probability [2]. Coding theory is a
fundamental application of information theory that can be categorized into source coding
and channel coding. Source coding deals mainly with data compression, while channel
coding or error correction coding is used to correct the transmission errors at the receiver.
Historically, one of the first practical forward error correction code (FEC) was a
block code proposed in 1950 by Hamming [3] which was a single error-correcting code. In
1955 the idea of convolutional codes was introduced by Elias [4] and its early mathematical
13
theory is developed by Forney [5], [6] and continued with different decoding algorithms in
[7], [8]. Viterbi’s landmark 1967 paper [9], applying maximum likelihood sequence
estimation algorithm for decoding, known as Viterbi algorithm, has been a major discovery
in the history of convolutional codes and one of its first practical application was during
the seventies [10].
As mentioned Hamming is a single error correcting block code which is too weak
for practical application. Discovery of BCH code [11], as a multiple error correcting binary
block code was a major improvement in block coding. Soon after, non-binary subset of
BCH code was introduced by Reed and Solomon [12] known as RS code which presents
certain optimality properties, as there exist highest possible minimum distance between the
codewords.
In 1965 the idea of concatenated codes is presented by Forney [13]. He showed that
by combining an inner convolutional code and outer block code, error probability decreases
exponentially while the block length and decoding complexity increases algebraically. A
further evolution to concatenated codes led to the invention of Turbo codes [14], [15] in
1993 which obtains near Shannon limit error correction performance by utilizing relatively
simple component codes.
Another approach in using channel coding is combing modulation and coding for
digital communication over band-limited channel. Trellis Coded Modulation (TCM) first
introduced by Ungerboek [16] and showed that this combination can produce significant
coding gain compare to conventional methods. Later, different combinations of channel
coding and modulation led to better performance.
14
Table 1 Summary of Coding Theory Landmarks Coding Developer Year
Shannon limit C. Shannon 1948
Hamming Code R. Hamming 1950
Convolutional Code P. Elias 1955
BCH Code R. Bose, D. Chaudhuri, A. Hocquenghem 1960
Reed Solomon Code I. Reed and G. Solomon 1960
Concatenated Code G. D. Forney 1966
Viterbi Algorithm A. Viterbi 1967
BCJR Algorithm L. Bahl, J. Cocke, F. Jelinek, J. Raviv 1974
TCM G. Ungerboeck 1982
Turbo Code C. Berrou and A. Glavieux 1996
1.2 Coded Modulation
Achieving a performance close to Shannon limit by applying coding and
modulation separately needs a low coding rate that leads to a bandwidth expansion. Hence,
the idea of Multilevel Coding (MLC) was proposed in 1977 by Imai et al [17]. This scheme
was one of the pioneers in designing coding and modulation jointly which employed
relatively simple encoding and multistage soft-decision decoding as well as applying
multiphase modulation to improve system performance.
The concept of Trellis Coded Modulation (TCM) was introduced by Ungerboeak
independently in 1982 [16] that applied Ungerboeak’s constellation partitioning and
considered coding and modulation as a single unit. Later on, various forms and
combinations of both structures (MLC and TCM) by employing different modulation
15
schemes and coding methods were investigated that led to several articles during 80s and
90s regarding coded modulation with different structures with improvement in power
efficiency, bandwidth efficiency, or coding gain.
For instance, Bit-Interleaved Coded Modulation (BICM) scheme developed by
Zehavi [18] in 1992 by adopting TCM concept, improved coded modulation performance
over Rayleigh fading channel. BICM was analyzed extensively regarding its capacity and
error bound. Bit-Interleaved Coded Modulation with Iterative Decoding algorithm (BICM-
ID) introduced by Li et al [19] provided performance improvement in AWGN channel.
Other structures including multidimensional TCM, Iterative decoding parallel
TCM which was later called Turbo TCM, Multilevel BICM combined with automatic
repeat request (ARQ) and adaptive coding, and more different structures that can be
advantageous for particular applications. The challenge is designing a scheme that can
perform near channel capacity with reasonable complexity and delay [20].
1.3 Dissertation Objectives
The sphere packing bound, which is a classic lower bound on the error probability
of block codes with particular block length, developed by Shannon [21] is defined in the
following form:
),( AQP snw (2)
Where Pw is the codeword error probability, 00 22 NrENEA bs is an
amplitude corresponding to the symbol signal to noise ratio, θs is the angle if 1/M (M
number of codewords) fraction of the whole n-dimensional Euclidean space solid angle is
surrounded by the n-dimensional cone of half-angle θ, and ),( AQ sn is the probability of
16
falling outside an n-dimensional circular cone of half-angle θ for an n-dimensional
spherical Gaussian random vector with mean (A, 0, . . ., 0) and unit variance in all
dimensions.
Shannon assumed a spherical block code with M=2k=2rn codewords, each having
n code symbols and r information bits per code symbol (rate r) with equal energy nEs per
codeword and an AWGN channel adds noise with variance N0/2 to channel symbols. He
generated an exact expression as well as the asymptotic approximation (for large block
size) for Qn as the following:
dsdesn
nAQ AnsnAsn
n
n
n
0
2/)cos2(1
0 2/
222
212
))(sin1(),( (3)
]cossin),([sin),(1]sin),([~),(
22
2/)cos),(( 2
AAGAGneAGAQ
nAAGA
n (4)
in which
]4coscos)[2/1(),( 22 AAAG (5)
Equation (3) is the exact expression and (4) is the approximation for large n. As n
gets larger the numerator of (4) dominates exponentially which facilitates estimation [22]
[23].
In this formulation, Shannon did not consider any particular modulation block size,
so the code symbols and channel symbols are left to be specified for particular
implementations. In modern communication systems both error correcting codes and
modulation are the main elements of the system. Moreover, based on Shannon’s
assumption in order to get close to the lower bound, which means low error probability,
17
block codes can be arbitrarily large and the computed bound can be approximated relatively
simply, while the code complexity and system delay for the large block sizes, which are
challenging issues for practical cases, were not taken into account.
Study and investigation of the tradeoff between rate, block-length, and error
probability of the best coding structure have been one of the central problems of
information theory and there have been numerous works since early days [24], [25], [26],
[27], [28], [29] and it is still active research topic [30], [31], [32], [33], [34].
In this work, we design a communication system which works for a short
information block sizes and low to mid data rates. We compare the results of this designed
system with the theoretical sphere packing bound. The goal of this design is to approach
the sphere packing lower bound even for codes with a very short block length, and to reduce
the lower bound gap between theory and practical low complexity, short-block codes. In
order to achieve this goal, we utilize coded modulation which combines systematic turbo
trellis channel coding with two layers of modulation including QPSK and OFDM
modulation. Further we improve the performance of the designed system by taking
advantage of higher order modulations as well as modulations with higher dimensionality
including 64QAM and 4D-64QAM. Moreover, we apply puncturing and non-systematic
channel coding to achieve higher rates while keeping the performance curve close to the
theoretical bound.
The structure of this dissertation is as follows: in chapter 2 some background
information regarding channel coding, modulation schemes and coded modulation is
presented. Chapter 3 explains the methodology of the designed system and provides some
18
approaches in improving the performance of the system. In chapter 4 the comprehensive
results of the simulated system are presented and finally we conclude the work and provide
some suggestion for future work in chapter 5.
19
CHAPTER 2: BACKGROUND
As mentioned, coded modulation consists of channel coding and modulation. This
chapter provides the background materials on modulation in general and different types of
used modulation in specific as well as different channel coding structures and general
description of coded modulation.
2.1 Modulation
In communication systems, modulation is a process of transferring message
information into another signal that is physically transmittable. Amplitude, frequency, or
phase of the physical signal may contain the message information [35]. Based on the
message type (continuous or discrete) two categories of modulations are possible; analog
modulation and digital modulation. Digital modulation techniques become increasingly
attractive due to the improvement of digital signal processing devices that makes digital
modulation cost more reasonable. Additionally, digital modulation has some inherent
characteristics, such as its robustness to channel impairments and ease in regenerating the
digital signal, which make it superior for data communication [35], [36].
Choosing a digital modulation scheme depends on several factors such as resulting
bit error rate, bandwidth occupancy, performance in multipath and fading, facility and cost
efficiency in implementation [37]. All of these requirements cannot be satisfied in one
scheme at the same time and depending upon the application and demands, some tradeoffs
need to be considered in choosing one or the other scheme.
The selected modulation performance is generally measured based on its power
efficiency and bandwidth efficiency. Power or energy efficiency indicates the modulation
20
ability in producing reliable message at low power level which is in fact the output bit error
probability regarding the ratio of the signal energy per bit to power spectral density of the
noise (Eb/N0) [38]. Bandwidth efficiency or spectral efficiency describes the modulation
capability in occupying less bandwidth for fixed chunk of data. There is a relationship
between allocated bandwidth and data rate, the higher the data rate, the wider the required
bandwidth. This relationship is described by bandwidth efficiency 𝜂𝐵 as
HzbpsBR
B / (6)
In which R is the data rate in bits per second and B is the occupied bandwidth in Hz.
Modulation schemes with larger bandwidth efficiency provide a greater system capacity
for digital communication [35].
There exists a tradeoff between energy efficiency and bandwidth efficiency in
designing digital communication systems. In some cases, adding error correcting codes to
the message increases bandwidth and causes poor bandwidth efficiency while reducing the
required energy to achieve desired bit error rate. In some other cases applying multi-level
modulation makes the bandwidth efficient in the cost of increasing required energy. There
are some other factors that should be considered in selecting and designing modulation
schemes. The cost and complexity of the receiver should be kept as low as possible. The
modulation needs to provide a reasonable performance in the existence of channel
impairments such as Rayleigh and Rician fading, time jitter, multipath and interference.
2.1.1 PSK and QPSK Modulation
Recently, digital modulation increasingly replaces analog modulation in wireless
communication because of the improvement in communication quality and reduction in
21
manufacturing cost. For example, frequency modulation (FM) that used to be a form of
analog modulation for wireless communication is replaced with Frequency Shift Keying
(FSK) modulation which is a digital scheme of frequency modulation. By taking advantage
of some essential components of analog modulation, FSK is extensively used in radio
transceiver systems [39]. FSK is a nonlinear, constant envelope modulation. Nonlinearity
causes larger bandwidth occupancy while having constant amplitude provides some
advantages, for instance ordinary power amplifier and limiter-discriminator can be used in
receivers, which simplify receiver design [40].
Another form of digital modulation is Phase Shift Keying (PSK) in which the
information is carried by the phase of the signal. The basic structure of PSK is Binary PSK
(BPSK) which uses two opposite phases (0 and π) as a representative of bit 0 and 1. These
opposite phases can have an offset phase which rotates constellation and creates different
decision margin. Phase change of the signal indicates bit transition from 0 to 1 or 1 to 0.
More sophisticated form of BPSK is M-ary PSK or multiple phase shift keying,
among them Quadrature PSK (QPSK) is widely used in different applications. QPSK has
four different phases or four complex points in constellation, in that each phase shift
represents two signal elements or bits of information and data can be transmitted faster
compared to BPSK. Phase offset can be considered for QPSK as well which is π/4 for most
applications. Since the difference between any constellation points is π/2, QPSK has a
robust structure compared to other modulation schemes and is used in various cellular
wireless standards such as GSM, CDMA, and LTE, it is also used in satellite
communication and cable TV applications. Furthermore, it creates same error probability
22
as BPSK while using half a bandwidth which makes it even more appealing for different
applications. Figure 1 and 2 illustrate one structure of QPSK modulator and demodulator.
Figure 1 QPSK Modulator
Figure 2 QPSK Demodulator
The error probability of BPSK and QPSK is
23
0
2NEQP b
B (7)
in which Q(x) is the Q-function defined as [41]:
duuxQx
2exp
21)(
2
(8)
2.1.2 QAM and 4D-QAM Modulation
Quadrature Amplitude Modulation (QAM) is the combination of amplitude
modulation and phase shift keying. QAM consists of two independent amplitude
modulated carriers in quadrature, hence it can be considered as a logical extension of QPSK
which has constant amplitude of the modulated signal and only the phase is changing. Since
the two carriers have the same frequency but different phase by π/2 they can be called as
an In-phase and Quadrature (I & Q) components and the best way for representing them is
in constellation diagram. Constellation points mostly arranged in square grid (other
configurations are possible) with the same space vertically and horizontally. The squared
constellation structure, which is easier to modulate and demodulate, makes some powers
of 2 impractical or atypical for QAM, thus the most common ones are 16-QAM, 64-QAM,
128-QAM, and 256-QAM. Higher order constellations are possible in theory but it may
create some inherent technical problems as for maintaining mean energy at the same level,
constellation points should stay close to each other. QAM structure with higher order
delivers more data but this data is less reliable than lower orders as it creates higher bit
error rate [42]. Simple structures of QAM modulator and demodulator are illustrated in
Figure 3 and 4.
24 The bit error probability for a squared constellation M-QAM where M=2k and even
k over Gaussian Channel with matched filter receiver is
02
2
2
1 21
log3log
)1(2NE
LLQ
LLP b
B (9)
in which Q(x) is a Q-function and 𝐿 = √𝑀 showing the number of amplitude levels in one
dimension [36].
Figure 3 Simple Structure of QAM Modulator [43]
Figure 4 Simple Structure of QAM Demodulator [43]
QAM provides great amount of spectrum efficiency, but as it carries information in
both magnitude and phase it is sensitive to noise. Additive white Gaussian noise is mostly
25
random in amplitude that causes QAM signal more difficult to demodulate. Since QAM
provides maximum data rate in limited bandwidth it is widely used in cable TV, Wi-Fi
wireless LANs, satellite, and cellular telephone system.
One major approach in improving the performance of the systems is increasing the
spectral efficiency. In QAM modulation, this is done by increasing the number of signaling
level especially in rectangular structure such as 64-QAM and 512-QAM. However, this
approach requires more signal power which is not desirable in most designs. Another way
of increasing spectral efficiency while maintaining signal power to a reasonable level is
increasing constellation dimensionality. Four-Dimensional Quadrature Amplitude
Modulation (4D-QAM), is one of the widely used method that takes advantage of two
separate QAM constellations and considers them as a single space in which each point
representing a vector with 4 elements (2 complex values) and assign bits to each point of
the 4-D space. Bit assignment is generally done considering maximum distance and there
exist several criteria in mapping bits to the constellation points. Higher order dimensions
are also used in different applications.
The basic idea of a multi-dimensional constellation combined with trellis coding is
first presented in [44], [45] and showed that using higher dimension constellations creates
potential advantage compared to 2D scheme, such as more tolerance regarding phase
ambiguity and better tradeoff between coding gain and complexity. Furthermore, four-
dimensional constellations are widely used in optical communication systems where two
orthogonal polarizations are used for each 2D constellation over its in-phase and quadrature
(IQ) component [46], [47], [48], [49]. This approach creates significant improvement in
26
optical communication in providing both spectral and energy efficiency [50], [51], [52],
[53].
2.1.3 OFDM Modulation
Frequency Division Multiplexing (FDM) uses multiple subcarriers over a single
channel and divides the whole data among various subcarriers. Data can be from different
information sources and it can be distributed unevenly on each sub-channel. So, various
modulation/demodulation schemes can be used based on the particular data type, leading
to pertinent structure with improved performance. Moreover, using multiple carriers
provides better protection regarding narrowband frequency interference as this interference
just affect one of the sub-channels and the others will not be affected. One drawback of
FDM is the required guard band between subcarriers in order to avoid interfering spectrums
which decreases the system effective rate compared to single carrier systems. If the FDM
system uses orthogonal subcarriers, higher spectral efficiency will be achieved since the
guard bands are no longer necessary. This structure called Orthogonal Frequency Division
Multiplexing (OFDM) which is widely used in many modern communication systems to
provide higher data rates [54].
OFDM is a special case of FDM in which subcarriers are orthogonal. Two
deterministic signals are called orthogonal if their dot product is zero. From the stochastic
processes viewpoint, two random processes are orthogonal when they are uncorrelated.
This orthogonality allows the subcarriers’ spectra to overlap, which increases the spectral
efficiency, while recovering individual subcarriers is still possible due to the nature of
orthogonality. In OFDM modulation, the data of a high rate stream is split into a several
27
parallel lower rate streams that are transmitted simultaneously over a number of orthogonal
sub-channels. Mapping input streams into an orthogonal subcarrier is done by taking
advantage of Fourier Transform which provides both orthogonal and uncorrelated nature
which makes OFDM a robust structure so that even overlapping spectrum cannot cause
interference. The parallel streams with lower rates have increased symbol duration which
leads to a decrease in the amount of time dispersion. Furthermore, the structure of OFDM
causes less intersymbol interference specially for the cases with guard intervals, so the
system needs a less complicated equalizer [55]. Figure 5 illustrated a basic structure of
OFDM.
Figure 5 General Structure of OFDM [56]
28 OFDM is one of the major choices in wireless communication systems with higher
data rates which is employed in 3GPP Long Term Evolution Advanced (LTE-A) and
Wireless Fidelity (Wi-Fi) standards [57], [58], [59].
2.2 Channel Coding
In order to improve the quality of communications and reduce error probability, a
number of error reduction techniques are being used. One of the most effective ways of
decreasing error in the receiver is by utilizing channel coding. Channel coding is a method
used in digital communication systems to guarantee transmitted data is received with
negligible or no errors. This is done by incorporating additional binary digits into the
transmitted data such that in the receiver end occurred errors are corrected by taking
advantage of extra inserted digits in transmitter. Otherwise, the recipient will be required
to ask for retransmission [39].
There are two methods of error correction. The simple and easy to implement
method known as Backward Error Correction (BEC) which only needs to detect errors and
requests retransmission; hence it requires duplex communications and causes unwanted
delay [60]. The more complicated method is Forward Error Correction (FEC) which not
only detects errors but also corrects certain number of errors in the receiver and does not
require two-way communications. FEC is used in almost every wireless communications
system and improves performance and energy efficiency of the system. In the rest of this
work we just deal with FEC and channel coding refers to FEC [61].
There exist numerous channel coding techniques but all can be categorized into 3
major groups; Block Codes, Convolutional Codes and Concatenated Codes.
29 Block Codes are codes with finite length code words and consist of k data bits
following by (n-k) parity bits (where n>k), so the code generates n bits long output code.
The encoder multiplies the message vector with length k by generator matrix which is a k
by n matrix having k linearly independent rows of n bits code words. Implementation of
block codes is easy regarding to its algebraic structure but they provide limited error
correction capabilities [62]. Some examples of block codes are Reed-Solomon codes [12],
Hamming codes [3], Golay codes [63], and Reed-Muller Codes [64].
Convolutional Codes [4] unlike block codes do not break data sequence into fixed-
size blocks, instead the data bits are spread along the sequence. In fact, the data bits
convolve with the code bits that are generated based on the shift register structure. This
makes the convolutional codes to have memory which allow them to operate well for small
code length. Convolutional codes are more complicated to implement and more powerful
in error correcting than block codes. Hence, the decoding algorithm is more complex
especially for long codes. There are different decoding algorithms, and the most famous
and successful is the Viterbi Algorithm (VA). VA first presented by Andrew J. Viterbi in
1967 [9] as a method in decoding convolutional codes and then improved by him couple
of years later [65]. VA in a maximum likelihood decoder performs dynamically to
minimize the error probability. It compares the likelihood of a set of possible cases that can
happen to decide which has the highest probability of occurrence [66].
VA has three major parts:
1- Branch metric calculation which calculates distance between the input
symbol and possible symbols.
30 2- Path metric calculation which calculates a metric to a path with the
minimum metric (known as survivor path) ending in every encoder state.
3- Traceback which is required for hardware implementation as the full
information of survivor path is not kept and just one bit for every choice of
path is stored [67].
Applying these three steps leads to choosing the best path among all the paths in
trellis that has the minimum error probability.
Concatenated Code is the idea of combining different simple coding structure in
order to achieve higher error correction capability while avoiding complexity in decoding
algorithm. The idea of concatenated codes was first presented by Forney [13] who showed
applying concatenated codes can decrease error probability exponentially while the
decoding complexity increases polynomially with the code block length. Different
combination of different coding structures is presented over the years but the most famous
and successful structure is Turbo Code that produces near Shannon limit error correction
performance and will be discussed the following subsection.
2.2.1 Turbo Coding
Turbo code is a family of concatenated codes and introduced by Berrou et al. [14]
which obtain near Shannon limit error correction performance by utilizing relatively simple
component codes [68]. The data stream passes through two encoders with an interleaver
prior to the second encoder that results the two output sequences to be roughly statistically
independent. Encoders are usually half-rate Recursive Systematic Convolutional (RSC)
encoders which produce systematic output stream consists of original information stream
31
followed by parity bits. In order to produce a wide range of coding rates different
puncturing structure on parity bits are applied. The RSC decoders should be able to process
soft input and generate soft output for the purpose of applying likelihood ratio and iterative
algorithm in the decoding process. In other word, the decoding process for turbo codes is
soft input/soft output iterative algorithm which feeds soft output from one decoder to the
soft input of the other decoder along with the actual channel input and iterates so as to
decode more bits correctly and produce lower Bit Error Rate (BER) [36], [20].
In fact, turbo code is an improved version of concatenated encoding structure
following by an appropriate iterative decoding algorithm that makes it to be considered as
a separate category of channel coding schemes [36]. This new category of channel coding
can apply either convolutional codes or block codes in the component codes and various
methods of decoding that are described briefly in the following sections.
2.2.2 Turbo Encoding
The general structure of turbo encoder consists of two or more parallel component
codes, which are not necessarily identical, with large interleavers in between that produce
different versions of the same information sequence [68], [69] as shown in Figure 6. The
conventional structure of turbo code employs convolutional code as the component
encoder, but it is possible to apply other structures such as block code and achieve desirable
performance. However, we concentrate mainly on turbo encoder using two convolutional
encoders. The outputs from the component codes are often punctured and multiplexed to
be sent via the channel.
32
Figure 6 Turbo Code Encoder
The essential component that caused the dramatic improvement in turbo codes
performance is the exploitation of interleaver. The interleaver simply scrambles the input
sequence in a pseudo-random manner and its choice is a critical point in designing Turbo
codes. Interleaving the information sequence at the input of encoder leads to a quite
different output even if the encoders are identical, that provides more effective decoding
procedure. There are various interleaving methods, such as row-column, helical, odd-even,
and pseudo-random, each of which can produce desired performance based on the code
design [13].
33
2.2.3 Turbo Decoding
The common structure of turbo decoding is iterative based structure, however some
non-iterative decoders have been developed that produce acceptable result. In this
dissertation, the concept of iterative decoding structure and some widely used algorithm
are described.
Figure 7 illustrates the general structure of iterative based turbo decoder. The main
parts are component decoders with interleavers and deinterleavers in between
corresponding to the encoder structure. There are two types of inputs to each decoder:
channel output bits that are encoded in the transmitter side and the decoded bits of the other
component decoders which are called a-priori information, moreover for systematic coding
structure, systematic data is also used in the decoding part. The component decoders have
to employ these inputs and generate soft output. This means that the decoder not only needs
to produce the bit stream of the decoded sequence but also the probability of each decoded
bit in the stream which is mostly represented by Log Likelihood Ratio (LLR) whose
polarity determines the bit sign and amplitude expresses the probability. LLR will be
discussed in later chapters.
34
Figure 7 Turbo Code Decoder [70]
There are two different algorithms used as component code for turbo decoder: Soft-
Output Viterbi Algorithm (SOVA) and Maximum A-Posteriori (MAP) algorithm. SOVA
is the modified version of classical Viterbi algorithm that makes it appropriate for turbo
decoding. These modifications include considering a-priori information in choosing the
maximum likelihood path through the trellis and producing soft output based on LLR for
decoded bits. MAP algorithm was proposed by Bahl et al. [71] in 1974 as an estimate for
the a-posteriori probabilities of states as well as transitions in a Markov source. This
algorithm, which also known as BCJR algorithm, is exploited for both convolutional and
block codes decoding. The performance of MAP and Viterbi algorithm is almost the same
in most convolutional decoders. However, MAP algorithm was not widely used before
turbo codes discovery based on its complexity in examining all the possible paths through
the trellis. After discovery of turbo code and its demand for soft output, MAP algorithm
attracted more attention based on its capability in producing estimated bit stream as well
35
as the probability of each decoded bit. Since then there has been numerous works on
decreasing MAP complexity to make it more feasible for turbo decoding.
As mentioned, turbo decoder has an iterative mechanism which is explained for
two concatenated code as follow, although this mechanism can be generalized to the turbo
code with more component codes. For the first iteration, the first component decoder
employs only channel output as its input and produce soft output. The second component
decoder use the soft output of the first decoder as well as the channel output and produce
the second soft output which leads the algorithm to get ready for the second iteration. In
the second iteration, the first decoder applies both channel output and soft output of the
second decoder as additional information to generate more accurate soft output that is used
by the second decoder. This cycle is repeated, until the achievement of improved
performance. However, for complexity reason limited numbers of iteration are legitimate.
It is worth to mention that the proper deployment of interleavers and deinterleavers
before and after component decoders is essential to provide desired output. Also, due to
the iterative nature of the decoder, at each decoding step the same information should not
be applied more than once. Hence, the concept of extrinsic and intrinsic information is
applied by Berrou et al. in their original paper. The intrinsic information is the a-priori
information resulting from decoding operation just on the channel sequence. It is in contrast
with extrinsic information which is the output information of the decoder operating on both
channel sequence and a-priori information excluding the channel systematic bit and a-priori
information. A-posteriori information is the information provided by the decoder
employing all available sources of information [20].
36 The advent of turbo codes sparked a considerable amount of research which leads
to enhanced versions of the original scheme. There have been modifications and
refinements to each component of the turbo structure that provides significant improvement
[72]. The interleaver design investigation in different works shows that applying an
appropriate permutation pattern can provide substantial improvement in the turbo
performance. Turbo codes with 16-state, 8-state, and event 4-state have been examined and
good performance has been achieved. The original turbo code applies single bit per time
step while in some other studies multi-binary convolutional codes are observed that process
multiple bits at the same time. Among these structures those that process two bits
simultaneously, called duo-binary or double-binary turbo codes, provide a desirable
performance in some applications and have been employed in several standards. Moreover,
turbo codes that are punctured to higher rates yield more robust characteristic, leading to
more experiment on puncturing structures [73].
These improvements on turbo structure along with the advancements in electronic
devices make turbo codes the great choice for FEC. Turbo codes have been incorporated
into different standards in wireless communications, satellite communications, and
wireless networking as well as other applications such as digital video broadcasting,
telemetry and deep space communications.
2.3 Coded Modulation
In communications systems, channel impairment and bandwidth restrictions highly
deteriorate system performance so that conventional demodulators cannot recover the
transmitted signal. Hence, in order to achieve reliable system performance
37
modulation/coding schemes are recommended that can provide enhancement in system
power as well as bandwidth efficiency [74]. The idea of concatenating modulation and
coding and considering them as a single entity has been presented in different papers such
as [75], which is one of the pioneers in this field. Since then, variety of joint
implementations of coding and modulation has been proposed that are discussed in the
following subsections.
2.3.1 Trellis Coded Modulation
Trellis-Coded Modulation (TCM) was presented for the first time by Ungerboeck
[16] in 1982. The main idea of TCM is incorporating additional bit as a parity bit to the
symbol representation and increase number of constellation points while keeping the
effective throughput unchanged. As a result, there is no increase in the signal bandwidth
but positive gain in coding. TCM combines redundant non-binary modulation with a finite
state FEC, non-binary modulation assigns certain permissible constellation to existing
symbols and FEC controls coded signal sequences selection. In the receiver, the decoding
structure is trellis-based soft-decision maximum likelihood which takes the noisy input
signal uses the defined constellation and minimum Euclidean distance to estimate the most
likely transmitted sequence. As this scheme applies the state diagram similar to the trellis
for binary convolutional code the term ‘trellis’ is used, however TCM is a non-binary
scheme [20].
2.3.2 Turbo Trellis Coded Modulation
As we discussed earlier Turbo coding is a technique that applies iterative decoding
algorithm to provide near channel capacity performance. On the other hand, Trellis coded
38
modulation introduces a coding technique with bandwidth efficiency. Hence, Turbo Trellis
Coded Modulation (TTCM) is a natural extension of Turbo coding which improves
bandwidth efficiency. The goal of TTCM is to maximize the minimum Euclidean distance
between codewords and to keep the error coefficient factors as small as possible compared
to standard binary turbo code. Hence, TTCM eliminates the disadvantage of rate loss as a
result of parallel concatenation.
The structure of a simple TTCM consists of two identical TCM encoder parallel
concatenated with a symbol interleaver which is shown in Figure 8. The first Trellis
encoder works on the original bit stream while the stream for the second trellis block is the
interleaved version of the original bit stream. Then each encoded sequence goes to the
mapper in which complex symbols are assigned to the bit sequence. De-interleaver reverse
the action of the interleaver and finally selector combines the output of each of the parallel
path in order to send them through a single channel. In order to achieve a higher bandwidth
efficiency, puncturing at symbol level is often employed on each component code.
Figure 8 TTCM Encoder [20] (Reprint by permission)
39 In symbol-based non-binary TTCM the information of the systematic bits (original
data bits) and parity bits (encoded bits) are transmitted with the same non-binary symbol
together. So, systematic components and extrinsic information are inseparable and channel
noise affect both while transmitting. Hence, there are two components, the non-binary
symbol a-priori component (A/a) and systematic as well as the extrinsic components
together ([E&S]/[e&s]). Only the second component passes through each decoder to the
next decoder and the a-priori information is removed at the output of each decoder. The
structure of a TTCM decoder is depicted in Figure 8. The received symbol enters the
‘Metric’ block which generates the symbol probabilities for likelihood measurement that a
certain symbol has been sent. The selector switch prior to ‘symbol by symbol MAP’
decoder choose the current symbol reliability based on the Metric output and in case there
is no puncturing. Each decoder block has two inputs, the probability of systematic and
parity bits ([P&S]/[p&s]) which are inseparable and provided by Metric as well as the a-
priori information (A/a) comes from the other component decoder. Then it generates a-
posteriori information (A+[E&S]/a+[e&s]) as an output. In the next step, the a-priori
information is subtracted from a-posteriori to prevent the usage of same information more
than once which makes the component decoders’ corresponding information independent
and make iteration gains achievable. This result goes to interleaver/deinterleaver block to
generate A/a as an input to the other decoder.
40
Figure 9 TTCM Decoder [20] (Reprint by permission)
Decoding process iterates to improve the set of symbol reliability. Finally, the a-
posteriori information of the second decoder passes through de-interleaver to extract
information bits and hard decision select the specific symbol that has the maximum a-
posteriori probability [20].
2.3.3 Interleaver
Interleaver plays an important role in the construction of a reasonable Turbo code.
However, there is no systematic method in choosing an effective interleaver that creates
the best result. The classical use of interleavers is to randomize error location for
applications with burst error patterns such as bursty channels in wireless communication.
Interleavers are also used in concatenated coding in which the outer stage decoder produces
41
burst error pattern as a result of Viterbi decoder. Using interleaver capability in spreading
error bursts represents this error as an isolated error for inner stage decoder.
The application of interleavers in Turbo coding introduce another aspect of them
which is reducing the correlation between encoded bits for original bits and its interleaved
version. There are some parameters that lead to a desirable interleaver such as the block
size, the larger the block size the more improved performance for interleaver. Another
parameter is its randomization mapping which should be in a way to break low-weight
sequence and increase free distance to provide improvement in asymptotic performance.
Interleaver spread is its other requirement that ensures the close bits in the original
sequence will be further apart in the interleaved version.
Interleaver types can be considered in three major categories. The fist category is
Standard Interleavers that are mainly used in Turbo coding such as Rectangular
interleaver, Berrou-Glavieux interleaver (the structure that is introduced and used in the
main Turbo code paper [14]), and Helical interleaver. The second category is Reference
Interleavers which are primarily designed for gaining some insight to the problem and
some of these designs are Uniform interleaver, Flat interleaver, and Barrel-Shifting
interleaver. The third category is the collection of Optimized Interleavers that are designed
for specific applications and some the examples are S-random interleaver, Annealing
interleaver, and Odd-Even interleaver [76], [77].
Interleaver is a critical component for the performance of turbo codes. There are
numbers of interleavers [76], [78], [79], [80], [81], [82], [83], [84], [85] for turbo codes
each of which are designed based on different criteria. Among them interleavers with
42
algebraic construction are more appealing for their analytical design and practical
implementation [86]. For instance, Quadratic Permutation Polynomial (QPP) [87] provides
excellent performance for turbo codes and have been used in 3rd Generation Partnership
Project Long Term Evolution (3GPP LTE) [88], [89], [90]. In our model, we used QPP
interleaver structure partially for some of the frame sizes.
This section provides some background information about modulation, coding, and
coded modulation. As it is mentioned, different combination of coding and modulation
may lead to a novel idea of coded modulation that can be proposed as a new methodology
which will be discussed in the following section.
43
CHAPTER 3: METHODOLOGY AND SYSTEM MODEL
In this chapter, the general structure of the designed system in presented. Like every
other communication system, this design consists of transmitter, channel, and receiver.
Transmitter acquires several blocks including channel coding block and different layers of
modulations. Channel is a typical AWGN channel that adds white Gaussian noise to the
transmitter output signal. Receiver has the same blocks as transmitter in reverse in order to
do the reverse action of modulator and coder to recover the source data. Following
subsections provide the comprehensive design of the system and its consideration along
with the methods to enhance and improve the performance of the system.
3.1 Introduction
In order to improve the performance of communication systems two aspects need
to be considered, energy efficiency and spectral efficiency. Energy efficiency or power
efficiency depends on the amount of power that a system uses which is a critical issue for
wireless and cellular communications. It also shows the system tolerance against the
environment noise. Spectral efficiency or bandwidth efficiency relates to the amount of
bandwidth that a system allocates or the maximum rate of the information while
communicating through a limited bandwidth. There has been always a tradeoff in providing
efficiency in both energy and bandwidth.
One common way of satisfying spectral efficiency is applying appropriate
modulation scheme. Orthogonal Frequency Division Multiplexing (OFDM) is one of the
widely used modulation forms that enhances spectral efficiency by exploiting numbers of
orthogonal narrowband sub-channel instead of a single wideband channel. It multiplexes
44
different data stream on various sub-channels to form the modulated signal. OFDM enables
us to adjust power over all subcarriers and assign higher data rates to the best subcarriers
to generate maximum system throughput. Another way of improving spectral efficiency is
using M-ary modulation scheme. M-ary Quadrature Amplitude Modulation (MQAM)
assigns M complex constellation points to data stream in order to provide spectral
efficiency, but it degrades energy efficiency. Utilizing higher order constellation instead of
2D constellation is another way of improving spectral efficiency. Multi-dimensional
constellation such as four-dimensional M-ary QAM (4D-MQAM) that applies two sets of
complex constellations and consider them as a single 4D vector is an effective method in
increasing overall rate of the system to allocate less bandwidth while maintaining the same
level of energy efficiency.
Energy efficiency can be improved by applying error correcting codes that produces
lower error probability at the receiver for a fixed signal to noise ratio (SNR). Moreover,
taking advantage of appropriate channel coding technique and combining it with proper
modulation structure can provide a unique coded modulation structure that improves
system performance by satisfying both spectral and energy efficiency. Trellis Coded
Modulation (TCM) [16] is one of the early proposed methods in combining Trellis coding
and modulation and considering them as single entity that provides a great improvement in
system performance. Following by the invention of the Turbo Codes [14] the idea of Turbo
TCM (TTCM) [91], [92] is presented which is a natural extension of turbo coding which
improves bandwidth efficiency. The goal of TTCM is to maximize the minimum Euclidean
distance between codewords and to keep the error coefficient factors as small as possible
45
compared to standard binary turbo code. Hence, TTCM eliminates the disadvantage of rate
loss as a result of parallel concatenation.
Since Shannon’s landmark paper 1948 [1], there have been numerous extensive
studies in designing and developing coding structures, modulation methods and
combination of them in order to reach Shannon limit. Substantial improvement has been
achieved and numerous structures have been developed but there is still a place for research
addressing performance versus complexity.
In this dissertation, we are applying several different layers of modulation
combined with specific type of channel coding in order to improve the overall performance
of the system and getting closer to Shannon limit. The comprehensive detail of the designed
system is discussed in the following sections.
3.2 System Model
The general structure of the proposed system consists of a systematic parallel turbo
code as an error correcting code and two layers of modulation including QPSK modulation
and OFMD, which are described in the following subsections.
3.2.1 Channel Coding
The designed systematic turbo coder uses a 16-state duobinary trellis. The trellis
table is given in Table 2 and described comprehensively in [93], [94], [95]. Each branch of
the trellis is mapped to three sub-symbols each of which consists of three bits. The bit
assignment for each state creates simplex structure that fosters maximum distance to
provide a lower decoding error.
46
Table 2 State Table for 16 State Trellis Current State
Next State Input 00 Input 01 Input 10 Input 11
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16
1 3 4 5 6 7 8 9 10 11 12 13 14 15 16 2
2 6 10 16 3 12 15 11 4 9 7 14 13 8 5 1
4 7 1 8 12 3 5 14 2 13 6 11 9 16 15 10
10 12 2 15 7 6 16 13 1 14 3 9 11 5 8 4
The encoder is a parallel systematic turbo encoder that concatenates the result of
one encoder with the interleaved version of the same encoder by adding the source data for
systematic coding. Considering the aforementioned bit assignment and systematic bits, the
total rate of the designed code is 1/10. The code implementation also uses tail-biting [96]
to determine the starting state of a codeword. Tail-biting is a technique of trellis termination
which provides the same amount of error protection for all information digits for maximum
likelihood decoder at the cost of more complex decoding algorithm. The structure of the
encoder is illustrated in Figure 10.
47
Figure 10 Encoder Block Diagram
The decoder in this design is a floating-point implementation of the BCJR
algorithm [71], in order to find the true limits of system performance, without regard to
finite precision or log-map approximations. BCJR, which is named after its inventors is an
algorithm for maximum a-posteriori probability or forward-backward algorithm for
decoding error correcting codes. It contains the following steps:
• Compute forward probability
• Compute backward probability
• Compute smoothed probability based on other information (i.e. noise
variance for AWGN)
• Generate the joint probability P
)().,'().'(),,'( 1 ssssayssP kkk (10)
48 P is the joint probability of receiving N-bit sequence y and being in state s’ at time
k-1 and in state s at current time k.
'
11 ),'()'()(),'()'(s
kkkkk sssasayspsa (11)
skkkkk sssssyps ),'().()'()|()( 1 (12)
)'|,(),'( ssypss kk (13)
The initial values for and are as follow:
0,0)(,1)0(0,0)(,1)0( 00
sforsandsforsand
kk
In this design, we use a likelihood ratio table (LR table) as so we can find and
based on (2) and (3) as forward and backward probability. Having all required
probabilities, we are able to calculate the joint probability ),,'( yssP . As there are two series
of symbols; unpermuted and permuted, in the encoder, here in decoder there are also two
series of calculation for both unpermuted and permuted symbols.
The decoder iterates until the result of these two series converge to the same data
decision for each symbol, and that sequence is output as the recovered symbol sequence.
For each decoding cycle the maximum number of iterations is set, and if the codeword fails
to converge, a codeword error is declared. Using our simulation for a range of SNR values,
we can plot Eb/N0 vs. BER curves which will be discussed in the result section. The general
structure of the decoding process is depicted in Figure 11.
49
Figure 11 Decoder Block Diagram
3.2.2 Modulation
As mentioned earlier, the designed system takes advantage of two layers of
modulation. The output sequence of the encoder block first passes through QPSK
modulation (for both systematic and parity symbols). The result of QPSK modulation are
then OFDM modulated with N channels (N=16 for illustration purposes) having a balanced
number of systematic and parity symbols at each channel. The energy for systematic and
parity symbols is adjusted in a way that produces equal energy in the parity and systematic
bits for each codeword. This was experimentally determined to have the best BER
performance.
The complex baseband OFDM signal with K sub-channels is described as:
s
K
k
TtT
Kkj
k TteXK
tug
u
01)(1
0
)()
21(2
(14)
50 In which
fWK
is the number of sub-channels, W is the bandwidth and Δf is the
frequency separation of adjacent subcarriers. Ts is OFDM symbol period with cyclic prefix,
Tu is OFDM symbol period without cyclic prefix, Tg is the length of cyclic prefix, and Xk
is the complex modulated data symbol in kth sub-channel, in our model Xk is chosen from
the set of QPSK constellation points and can be represented as:
kXjkk eXX
(15)
For OFDM modulation without cyclic prefix (Tg=0) and considering
fTTT su 1 and kffKk
21 the OFDM signal is simplified to:
s
K
k
tfjk TteX
Ktu k
01)(1
0
2 (16)
In our model Xk consists of both parity symbols Pk and systematic symbols Sk and
can be shown as:
kkk SPX (17)
kPjkk ePP
(18)
kSjkk eSS
(19)
These symbols are distributed pseudo randomly, but with symmetric statistics
among all sub-channels, meaning that each sub-channel has the same ratio of parity and
systematic symbols. Since the code rate of the channel coding is 1/10, the number of parity
symbols is 9 times the number of systematic symbols and this trend is maintained in each
sub-channel as well.
51 Furthermore, in order to get desirable likelihood ratio at the demodulator to provide
effective soft decoding, the relative energy of the parity symbols and systematic symbols
at each sub-channel was investigated. Experimentally, it was determined that superior BER
performance is achieved when the total energy of the parity vs. systematic symbols is equal.
Hence, a normalization factor is assigned to symbols magnitude based on the following
relation.
m
jjk
n
iiksp SPEE
1
2
1
2 (20)
Based on the code rate and symmetric distribution of parity and systematic symbols
we have n=9m and as the symbols are QPSK modulated ],1[,, njiPP jkik the above
energy relation is simplified to:
kkkk
m
jjk
m
iik SPSmPmSP
39 22
1
29
1
2 (21)
Thus, considering a signal magnitude for systematic symbols 3 times that for parity
symbols creates the desired likelihood ratio characteristic that provides exceptional soft
decision decoding, and generates lower error rates for a fixed level of noise.
Using the designed coder for a very short block length and combining it with the
specified modulators we aim to improve system performance by reducing error probability
for an extremely noisy channel. Implementing the system, we manage to generate an
improved version of Eb/N0 vs. BER curves for short block length as well as approach the
sphere packing bound curves that will be discussed in the result section.
52
3.2.3 Four-Dimensional M-Ary QAM
In order to increase the overall rate of the designed system, we applied a novel 4D-
QAM modulation for parity symbols, while systematic bits are still QPSK modulated. This
rate 1/5 approach (measured is bits per channel use [97]) achieves performance nearly
identical to the original rate 1/10 system.
In this work, our main idea of applying 4D constellation is assuming two sets of 2D
complex signal constellations and combining them as a single four-dimensional vector.
i
r
i
r
cc
C
cc
C
2
22
1
11
(22)
i
r
i
r
cccc
CC
C
2
2
1
1
2
1 (23)
For this design two sets of 64QAM constellation are considered. Hence, the
resulting 4D vector contains (26)2=4096 possible elements, including all possible
combinations of points. Among these 4096 4D vectors we choose 64 vectors that create
maximum distance relative to each other. Finding these 4D vectors with maximum
distance, and mapping them to particular branches of the 16-state duobinary trellis is a
critical part of this design, which was performed using exhaustive search techniques.
Moreover, modulating the 4D symbols using OFDM is also discussed in the following
subsections.
53
3.2.4 Vector Selection
As mentioned, selection of 64 4D vectors among 4096 possible 4D vectors to
provide the best maximum distance regarding states in the trellis is very crucial. In this
design, in order to provide a better distance, 3 sets of coordinates at each of the 2D
constellations are considered. These points are marked in Figure 12 and color coded.
• The first set is 4 points at the far end of each constellation and marked by
red squares in Figure 12. To create a 4D vector any combination of these 4
points is possible.
• The second set contains 8 points in far-mid of each constellation and marked
by green squares in Figure 12. To form a 4D vector these coordinates can
just combine by the coordinates from this category.
• Last set, which is marked by purple squares, has 4 points in middle of each
constellation and to form a proper 4D vector these points can just combine
with a point from the first category.
54
Figure 12 Constellation Representation
The alphabet for MQAM modulation with even number of bits is as follow:
2,1)12()12(
:2
Mmwheremjm
evenbandMforAlphabetMQAM
MQAM
b
(24)
For this design, we just assume m=2, 4 and we have the following set:
33,73,37,77 jjjjSelected (25)
Combining these 2D vectors to creates a 4D vector using the above constraints, we
have the following set of 4D vectors:
55
7733337737737373733737377777
4
jjjjjjjjjjjjjj
C D (26)
The matrix of 4D vectors (17) contains all the possible choices for the final set, but
not all these vectors are in the final selected vectors.
Once we have chosen a subset of possible symbols, we next assign them to
appropriate branches of the trellis, in order to maximize the Euclidean distance between
high probability parallel branches. We use the following rules.
1. Outgoing branches from each state in the trellis should be at maximum
relative distance.
2. Incoming branches to each state of the trellis should be at maximum relative
distance.
3. The four “center” branches of each of the four possible three-hop paths
which terminate in the starting state, should be at maximum relative
distance.
Within these three rules, we perform an exhaustive search to find a trellis mapping
which has the best possible distance between all sets of parallel paths beginning and
terminating in the same state. The result is a set of 64 unique 4D-QAM symbols mapped
uniquely to the 64 branches in the trellis.
56
3.2.5 Modem Scheme
The structure of the modem, particularly the demodulator design, is very important
in utilizing the 4D-QAM model effectively. In the modulator, all the encoded parity
symbols are mapped to the corresponding 4D vectors based on the mapping described in
the previous section (systematic symbols are modulated differently using QPSK
modulation). At the receiver, the demodulator uses the same mapping pattern, implemented
as a matrix operation, in order to form likelihood ratios which are then used as a smoothed
probability in the BCJR decoding algorithm. This scheme creates an efficient data recovery
method that reduces complexity and generates low decoding error. The resulting system
structure achieves bit error performance very close to the sphere packing bound for rate
limited and block-size limited codewords. This will be further discussed in the following
section.
3.3 System Enhancement and Performance Improvement
In every communication system, after designing the main parts, enhancement and
optimization is the major concern. In our model, the aim of system improvement is
basically increasing rate of the system or in other word reducing bandwidth occupancy of
the system. There are several techniques that we can apply such as puncturing and changing
of the modulation format in order to reach to the desired rate while keeping the energy
efficiency as low as possible.
3.3.1 Puncturing
As mentioned earlier, channel coding adds some redundant bits to the data stream
in order to provide forward error correction, and a larger number of redundancy bits leads
57
to a stronger error correction against channel noise. However, these redundant bits make
transmitted data longer which occupies wider bandwidth [98]. One method in reducing
bandwidth occupancy is to use puncturing.
Puncturing is the action of deleting some of the encoded bits which leads to an
increase in code rate. Hence, it is widely used in rate adjustment in coding systems.
Punctured bits are typically determined by a puncturing pattern and its choice has an impact
on the error correcting performance. Two puncturing patterns can have the same rate but
produce different error correcting performance [99]. There exist several different
puncturing patterns and each can be helpful for different codes. For example, a
conventional puncturing algorithm is based on uniform puncturing of all bits which is
appropriate for convolutional code but cannot be optimal for turbo codes. Also, for
systematic codes there are some limitations such as preventing puncturing of systematic
bits or preventing puncturing of termination bits that should be considered when doing
puncturing [100], while non-systematic code does not have these restrictions. Typically,
there is a known specific distance between punctured bits in a puncturing pattern which is
referred to as periodic puncturing and its pattern can be denoted by a binary puncturing
matrix. A puncturing pattern can also be non-periodic which can be achieved by applying
a varying puncturing pattern throughout the bit stream. Results of [99] and [101] separately
show that a non-periodic approach produces better performance, although assigning a large
period for the periodic puncturing can produce relatively close results to the non-periodic
pattern.
58 In this design, in order to achieve a higher coding rate, one approach is applying
puncturing on parity at symbol level. Based on the explained design in pervious sections,
we could achieve rate 1/5 by applying 4D-QAM modulation for parity bits and QPSK
modulation for systematic bits and using OFDM on top of those. To increase the coding
rate by puncturing, we apply symbol puncturing by deleting 1 symbol out of each 4
symbols and insert zero at the demodulator instead of omitted symbols. This puncturing
can provide rate 1/4 which improves bandwidth efficiency of the system while the
performance degradation is negligible and the capacity curve is still have a reasonable gap
with sphere packing bound.
There exist different patterns for puncturing 1 symbol out of 4 symbols and we tried
all the possible patterns and among them the pattern presented in Figure 13 generates the
best error rate curves. It should be considered that since parity symbols are complex
symbols in order to puncture them both real and imaginary portion of the symbols should
be omitted.
59
Figure 13 Puncturing Pattern
Since this puncturing provides desirable system improvement, we continued by
applying more puncturing to get a higher rate. For the next step, puncturing 1 symbol out
of 3 symbols applied which generates rate 3/11. For this puncturing, the pattern does not
make much difference, as we basically do not have many possible patterns. The result for
rate 3/11 by applying puncturing is also promising and generates capacity curves still close
to the theory. However, continuing puncturing to the next level which is deleting 1 symbol
out of 2 symbols which creates rate 1/3, does not generate desirable result as it leads to
over-puncturing that makes it hard for the receiver to recover data for very low signal
energy. Another rate between 3/11 and 1/3 is rate 3/10 that can be achieved by puncturing
60
5 symbols out of 12. This structure also leads to over-puncturing and does not create the
desirable result. Hence, we should apply another method than puncturing to achieve rate
1/3.
3.3.2 Modulation Alternative
As mentioned, our ultimate goal in this design is achieving rate 1/3 while
maintaining system performance as good as lower rates. In previous section, we showed
that puncturing our system with rate 1/5 which exploits 4D-QAM for parity bits and QPSK
for systematic bits, to get rate 1/3 leads to over-puncturing and does not generate the
desirable result.
Another approach in increasing the overall rate of the system, is applying different
modulation structure. As discussed earlier, systematic bits acquire QPSK modulation
before OFMD. To provide a higher rate, we can exploit higher order modulation for
systematic bits. Thus, we applied 64QAM that decreases the number of required symbols
for systematic bits to 3 times and creates the overall rate to 1/3. The result of this design
generates error curves very close to the theory especially for larger block sizes that satisfies
our expectations. As we changed the modulation for systematic bits there are some
considerations regarding energy assignment for systematic symbols at every OFDM sub-
channels as well as the calculation of the total energy of the transmitter output signal.
Considering these and applying experimental method to assign he best energy for
systematic symbols we manage to get the desirable result very close to theoretical limits.
61
3.3.3 Coding Consideration
As discussed in previous sections, the applied coding structure for this design is
systematic Trellis Turbo coding. Systematic codes take advantage of the original data bits
to provide a better decoding structure and generate a lower decoding error. This is to the
cost of lower rate and occupying a larger bandwidth.
In our designed system, another way of increasing rate and providing bandwidth
efficiency is exploiting non-systematic coding structure. In other words, we just consider
parity (encoded) bits that acquire 4D-64QAM modulation at first level then punctured then
OFDM modulated. This model to achieve rate 1/3, the designed structure with puncturing
that creates rate 1/4 is considered. Then systematic bits are removed; hence the rate
increases to 1/3. This design improves performance for smaller block sizes compared to
using higher order modulation for systematic bits. While the result for larger block sizes is
slightly worse than previous design for rate 1/3 by taking advantage of higher order
modulation for systematic bits, it is still very close to the theoretical sphere packing bound.
These results are discussed in the following chapter.
62
CHAPTER 4: SIMULATION RESULTS
In order to evaluate the proposed method, a transmitter/receiver system is simulated
based on the defined structure in previous chapter. The channel is an AWGN channel which
is tested with a range of low signal to noise ratio (SNR). The input for the system is a
random bit stream which is recovered at the receiver with measured error rate.
4.1 Test Set
All the simulation process is done on MATLAB environment. The project consists
of several functions each of which is responsible for one block of the designed system. The
designed system has the main blocks as depicted in Figure 14. The first basic structure of
the system consists of systematic turbo encoding as a channel encoder. Then the resulting
encoded bit stream, including both permuted and unpermuted encoded bits, along with
systematic bits go to the modulation block which is QPSK for both systematic and parity
bits in basic structure of rate 1/10. Then the next level of modulation which is OFDM with
16 sub-channels is applied and the final symbols pass through AWGN channel that adds a
very high noise to the transmitted signal. In the receiver, the reverse action of the
transmitter is applied meaning that first the OFDM demodulator brings back information
of 16 parallel sub-channels into serial symbol stream. The QPSK demodulation generates
the maximum likelihood for both systematic and parity bits that goes to the BCJR decoding
algorithm to recover the source data.
63
Figure 14 Block Diagram of the Designed System
In digital communication, using Eb/N0 vs. BER curve is a common way to evaluate
system performance. Eb/N0 is the ratio of energy per bit to the spectral noise density and
BER is the rate of the error bits (at the receiver) to the total number of transmitted bits. In
general, Eb/N0 vs. BER curves are like waterfalls, the steeper and closer to Shannon limit
the curve, the more enhanced the system. This means that the system has a low bit error
rate for high level of noise and the error rate decreases a lot if the SNR increases a little
bit. In other words, the channel is utilized closed to its theoretic capacity and the system is
nearly optimal. In this work in order for our results to be comparable with sphere packing
bound results in [22] we are more interested in codeWord Error probability Rate (WER)
therefore all the resulting curves are for codeword error.
64 To construct Eb/N0 vs. WER curve, there should be a loop in the system to apply
different values for Eb/N0 and find the corresponding WER. In this regard, there are two
concerns. Firstly, Eb/N0 is the error in bit level or in the other word it is a digital noise,
while AWGN channel needs SNR (or analog noise) to operate. These two can be converted
to each other by (1)
0
.NE
BRSNR bb (27)
in which Rb is the bit rate and B is the bandwidth and applying appropriate values to get
the correct conversion is crucial. Secondly, the system works in symbol and sub-symbol
level but the final error needs to be calculated in bit level.
Taking these points in mind, we did the experiment on our MATLAB code and
achieved the results as discussed in the following section.
4.2 Results of Different Structures
As discussed earlier, the original structure of the designed system, that takes
advantage of QPSK modulation for both systematic and parity bits, has rate 1/10 and
provides error curve very close to theory. Figure 15 shows the resulting WER for different
short block sizes and Figure 16 illustrates the capacity bound for our designed rate 1/10 in
comparison to sphere packing bound and the same comparison for rate 1/3 DVBRSC which
is created by taking advantage of Coded Modulation Library (CML) for DVBRCS [102].
66
Figure 16 Comparison of 16-State Duobinary Code Rate 1/10 and Existing DVBRCS with Sphere Packing Lower Bound [22] as a Function of Information Block Size and a Fixed Word Error Probability Pw=10-4
In the next step, to increase the overall rate of the system we apply 4D-64QAM
modulation for parity bits while maintaining QPSK modulation for systematic bits which
provides the overall rate of 1/5 and we get the results as Figure 17 and 18.
68
Figure 18 Comparison of 16-State Duobinary Code Rate 1/5 and Existing DVBRCS with Sphere Packing Lower Bound [22] as a Function of Information Block Size and a Fixed Word Error Probability Pw=10-4
As discussed in previous chapter, in order to increase the overall rate of the system
while keeping the performance as close to the theory as possible, one approach is applying
puncturing on symbol level. We applied several patterns as well as various puncturing rates
among them the puncturing pattern presented in Figure 13 for rate 1/4 and rate 3/11 with
arbitrary puncturing pattern (of course we try to keep deleted symbols as far from each
other as possible.) generate the best results as depicted in Figure 19 to 22.
70
Figure 20 Comparison of 16-State Duobinary Code Rate 1/4 and Existing DVBRCS with Sphere Packing Lower Bound [22] as a Function of Information Block Size and a Fixed Word Error Probability Pw=10-4
72
Figure 22 Comparison of 16-State Duobinary Code Rate 3/11 and Existing DVBRCS with Sphere Packing Lower Bound [22] as a Function of Information Block Size and a Fixed Word Error Probability Pw=10-4
Further, to increase the rate even more in order to get to rate 1/3 which is a generic
rate and its result is comparable with others results, we applied QAM modulation for
systematic bits. The result of this design generates error rate very close to the theoretical
bound for larger block sizes. These results are presented in Figure 23 and 24.
74
Figure 24 Comparison of 16-State Duobinary Code Rate 1/3 Using QAM for Systematic Bits and Existing DVBRCS with Sphere Packing Lower Bound [22] as a Function of Information Block Size and a Fixed Word Error Probability Pw=10-4
As it is clear in the curves for rate 1/3 by applying higher order modulations for
systematic bits, for shorter block sizes results are not very close to sphere packing bound
curve as expected. Thus, we tried non-systematic structure by removing data bits and just
considering encoded bits at the coding section with 4D-QAM modulation. The results are
presented in Figure 25 and 26. This results for non-systematic structure creates lower error
for shorter block sizes but larger error for larger block sizes comparing to previous
approach with higher order modulation for systematic bits.
76
Figure 26 Comparison of 16-State Duobinary Code Rate 1/3 with Non-Systematic Coding and Existing DVBRCS with Sphere Packing Lower Bound [22] as a Function of Information Block Size and a Fixed Word Error Probability Pw=10-4
77
CHAPTER 5: CONCLUSION AND FUTURE WORK
In all communication systems, performance improvement is the vital issue.
Different coding and modulation schemes, their combination as well as evolution over the
past few decades creates a tremendous progress in advanced communication. In this work,
we develop a 16-state duobinary trellis turbo code which uses 2 layers of different
modulations for systematic and parity bits. In our initial approach, we use QPSK
modulation as a first layer of modulation for both systematic and parity bits then utilize
OFDM for the second layer of modulation. The distribution of both systematic and parity
symbols over OFDM sub-channels are considered symmetrically while the assigned energy
to each of them is not equal and achieved experimentally. This initial design creates rate
1/10 and generate the performance curve very close to the sphere packing lower bound.
Then in order to improve the bandwidth efficiency of the system we tried different
modulation scheme to increase the system rate while keeping the performance close to
lower rates. In the second approach, the heuristic method of 4D-QAM constellation for
parity bits is proposed while the modulation for systematic bits maintained the same. This
modulation increases the system rate to 1/5 but keeps the performance still very close to
sphere packing lower bound. Further, we employ different puncturing patterns in an
effective way to increase the overall rate of the system but still achieve performance very
close to the sphere packing bound for very short code blocks at a code rate of 1/4 and 3/11
bits per channel use. To increase the rate even further and get closer to more generic rates
we apply different modulation scheme for systematic bits. Using QAM modulation for
systematic bits along with 4D-QAM modulation for parity bits as well as acquiring proper
78
structure of puncturing in symbol level allow us to increase the rate up to 1/3 while keeping
the performance curve as close as 0.5 dB to the theoretical sphere packing bound.
Additionally, employing a non-systematic coding structure enables us to create systems
with higher rate with less puncturing. Results of the non-systematic coding structures
especially for shorter block sizes demonstrate negligible error close to theoretical bound.
Comparison of this small gap between our result and theory with other results for short
codes indicates about 1 dB closer approach to the bound. Current work is focused on
achieving similar results at a rate of 1/3 bits per channel use which are distributed
symmetrically along OFDM sub-channels, in order to improve system performance and
approach the theoretical sphere packing lower bound. Furthermore, we applied a heuristic
method of choosing 64 four-dimensional vectors among 4096 that achieves a very low
decoding error probability, and produces performance substantially close to the theoretical
sphere packing lower curve even for a very short block length. Comparison of this small
gap between our result and theory with other results for short codes indicates about 1 dB
closer approach to the bound
5.1 Future Directions
In this designed system, we applied 16 state turbo trellis coding structure combined
with different layers of modulation. Other approach to this design could take advantage of
different near optimum coding scheme such as LDPC coding structure. Also, other
modulation schemes with different/higher orders can be applied. For system improvement,
we applied different ad-hoc puncturing structures without regard to interleaver scheme
79
while in some recent works the joint impact of puncturing and interleaving is investigated
[103], [104], [105] which can be considered as a method to improve the current design.
The designed system, that is comprehensively explained in previous chapters, is
fully implemented in MATLAB environment and most of the functions are converted to C
codes by taking advantage of MATLAB coder toolbox. The next step to this design is
applying these files and implementing the structure on hardware by taking advantage of
DSP processors.
80
REFERENCES
[1] C. E. Shannon, “A Mathematical Theory of Communication,” Bell Syst. Tech. J., vol. 27, no. 3, pp. 379–423, Jul. 1948.
[2] A. Guillén i Fàbregas, A. Martinez, and G. Caire, “Bit-interleaved coded modulation,” Found. Trends Commun. Inf. Theory, vol. 5, no. 1–2, pp. 1–153, 2008.
[3] R. W. Hamming, “Error Detecting and Error Correcting Codes,” Bell Syst. Tech. J., vol. 29, no. 2, pp. 147–160, Apr. 1950.
[4] P. Elias, “Coding for Noisy Channels,” IRE Conv Rec, vol. 3, pp. 37–46, 1955. [5] G. Forney, “Correction to ‘Convolution Codes I: Algebraic Structure,’” IEEE Trans.
Inf. Theory, vol. 17, no. 3, pp. 360–360, May 1971. [6] G. Forney, “Structural analysis of convolutional codes via dual codes,” IEEE Trans.
Inf. Theory, vol. 19, no. 4, pp. 512–518, Jul. 1973. [7] J. Wozencraft and B. Reiffen, Sequential Decoding. Cambridge, MA: MIT Press, 1961. [8] R. Fano, “A heuristic discussion of probabilistic coding,” IEEE Trans. Inf. Theory, vol.
IT-9, pp. 64–74, Apr. 1963. [9] A. Viterbi, “Error bounds for convolutional codes and an asymptotically optimum
decoding algorithm,” IEEE Trans. Inf. Theory, vol. 13, no. 2, pp. 260–269, Apr. 1967. [10] J. Heller and I. Jacobs, “Viterbi Decoding for Satellite and Space Communication,”
IEEE Trans. Commun. Technol., vol. 19, no. 5, pp. 835–848, Oct. 1971. [11] R. C. Bose and D. K. Ray-Chaudhuri, “On a class of error correcting binary group
codes,” Inf. Control, vol. 3, no. 1, pp. 68–79, Mar. 1960. [12] I. Reed and G. Solomon, “Polynomial Codes Over Certain Finite Fields,” J. Soc.
Ind. Appl. Math., vol. 8, no. 2, pp. 300–304, Jun. 1960. [13] G. D. Forney and G. D. Forney, Concatenated codes, vol. 11. Citeseer, 1966. [14] C. Berrou and A. Glavieux, “Near optimum error correcting coding and decoding:
turbo-codes,” IEEE Trans. Commun., vol. 44, no. 10, pp. 1261–1271, Oct. 1996. [15] C. Berrou, A. Glavieux, and P. Thitimajshima, “Near Shannon limit error-
correcting coding and decoding: Turbo-codes. 1,” in Technical Program, Conference Record, IEEE International Conference on Communications, 1993. ICC ’93 Geneva, 1993, vol. 2, pp. 1064–1070 vol.2.
[16] G. Ungerboeck, “Channel coding with multilevel/phase signals,” IEEE Trans. Inf. Theory, vol. 28, no. 1, pp. 55–67, Jan. 1982.
[17] H. Imai and S. Hirakawa, “A new multilevel coding method using error-correcting codes,” IEEE Trans. Inf. Theory, vol. 23, no. 3, pp. 371–377, May 1977.
[18] E. Zehavi, “8-PSK trellis codes for a Rayleigh channel,” IEEE Trans. Commun., vol. 40, no. 5, pp. 873–884, May 1992.
[19] X. Li and J. A. Ritcey, “Bit-interleaved coded modulation with iterative decoding,” Commun. Lett. IEEE, vol. 1, no. 6, pp. 169–171, 1997.
[20] L. Hanzo, Ed., Turbo coding, turbo equalisation, and space-time coding: exit-chart aided near-capacity designs for wireless channels, 2nd ed. Chichester, West Sussex, U.K. ; Hoboken, N.J: Wiley, 2011.
[21] C. E. Shannon, “Probability of error for optimal codes in a Gaussian channel,” Bell Syst. Tech. J., vol. 38, no. 3, pp. 611–656, May 1959.
81
[22] S. Dolinar, D. Divsalar, and F. Pollara, “Code performance as a function of block size,” TMO Prog. Rep., vol. 42, no. 133, 1998.
[23] S. Dolinar, D. Divsalar, and F. Pollara, “Turbo code performance as a function of code block size,” in Proceedings. 1998 IEEE International Symposium on Information Theory (Cat. No.98CH36252), 1998, p. 32-.
[24] J. Wolfowitz, “The coding of messages subject to chance errors,” Ill. J. Math., vol. 1, no. 4, pp. 591–606, Dec. 1957.
[25] R. M. Fano, Transmission of Information: A Statistical Theory of Communications. M.I.T. Press, 1961.
[26] R. Gallager, “A simple derivation of the coding theorem and some applications,” IEEE Trans. Inf. Theory, vol. 11, no. 1, pp. 3–18, Jan. 1965.
[27] C. E. Shannon, R. G. Gallager, and E. R. Berlekamp, “Lower bounds to error probability for coding on discrete memoryless channels. I,” Inf. Control, vol. 10, no. 1, pp. 65–103, Jan. 1967.
[28] R. G. Gallager, Information theory and reliable communication. Wiley, 1968. [29] J. A. T. Thomas M. Cover, Elements Of Information Theory 2nd Ed. 2006. [30] A. Valembois and M. P. C. Fossorier, “Sphere-Packing Bounds Revisited for
Moderate Block Lengths,” IEEE Trans. Inf. Theory, vol. 50, no. 12, pp. 2998–3014, Dec. 2004.
[31] G. Wiechman and I. Sason, “An Improved Sphere-Packing Bound for Finite-Length Codes Over Symmetric Memoryless Channels,” IEEE Trans. Inf. Theory, vol. 54, no. 5, pp. 1962–1990, May 2008.
[32] Y. Polyanskiy, H. V. Poor, and S. Verdu, “Channel Coding Rate in the Finite Blocklength Regime,” IEEE Trans. Inf. Theory, vol. 56, no. 5, pp. 2307–2359, May 2010.
[33] Y. Altuğ and A. B. Wagner, “Moderate deviation analysis of channel coding: Discrete memoryless case,” in 2010 IEEE International Symposium on Information Theory, 2010, pp. 265–269.
[34] Y. Altuğ and A. B. Wagner, “Refinement of the Sphere-Packing Bound: Asymmetric Channels,” IEEE Trans. Inf. Theory, vol. 60, no. 3, pp. 1592–1614, Mar. 2014.
[35] E. N. O. Sackey, “Performance evaluation of M-ary frequency shift keying radio modems via measurements and simulations,” Electr. Eng. Blekinge Inst. Technol., 2006.
[36] B. Sklar, Digital communications: fundamentals and applications, 2nd ed. Upper Saddle River, N.J: Prentice-Hall PTR, 2001.
[37] C. U. Ndujiuba, O. Oni, A. E. Ibhaze, C. U. Ndujiuba, O. Oni, and A. E. Ibhaze, “Comparative Analysis of Digital Modulation Techniques in LTE 4G Systems,” J. Wirel. Netw. Commun., vol. 5, no. 2, pp. 60–66, 2015.
[38] G. Y. Li et al., “Energy-efficient wireless communications: tutorial, survey, and open issues,” IEEE Wirel. Commun., vol. 18, no. 6, pp. 28–35, Dec. 2011.
[39] P. C. P. Liang and W. E. Stark, “Algorithm for joint decoding of turbo codes and M-ary orthogonal modulation,” 2000, p. 191.
82
[40] D. Nojima, Y. Nagao, M. Kurosaki, and H. Ochi, “Derivation of Log-Likelihood Ratio for M-Ary Non-Orthogonal FSK Wireless System,” in Vehicular Technology Conference (VTC Fall), 2012 IEEE, 2012, pp. 1–5.
[41] J. G. Proakis, Digital communications, 5th ed. Boston: McGraw-Hill, 2008. [42] W. T. Webb and L. Hanzo, Modern Quadrature Amplitude Modulation: Principles
and applications for fixed and wireless channels: one. IEEE Press-John Wiley, 1994. [43] B. P. Lathi, Modern Digital and Analog Communication Systems, Fourth Edition,
New to this Edition: Oxford, New York: Oxford University Press, 2009. [44] L.-F. Wei, “Trellis-coded modulation with multidimensional constellations,” IEEE
Trans. Inf. Theory, vol. 33, no. 4, pp. 483–501, 1987. [45] A. R. Calderbank and N. J. A. Sloane, “Four-dimensional modulation with an eight-
state trellis code,” ATT Tech. J., vol. 64, no. 5, pp. 1005–1018, 1985. [46] M. Karlsson and others, “Four-dimensional coherent signalling-constellations and
rotations,” in 19th Optoelectronics and Communications Conference (OECC) and the 39th Australian Conference on Optical Fibre Technology (ACOFT), 2014, p. 138.
[47] S. Ishimura and K. Kikuchi, “Eight-state trellis-coded optical modulation with signal constellations of four-dimensional M-ary quadrature-amplitude modulation,” Opt. Express, vol. 23, no. 5, p. 6692, Mar. 2015.
[48] S. Ishimura and K. Kikuchi, “Experimental demonstration of the 8-state Trellis-coded 4D-QPSK optical modulation format,” in 2015 Optical Fiber Communications Conference and Exhibition (OFC), 2015, pp. 1–3.
[49] P. Johannisson, M. Sjödin, T. A. Eriksson, and M. Karlsson, “Four-dimensional modulation formats for long-haul transmission,” in OFC 2014, 2014, pp. 1–3.
[50] J. K. Fischer et al., “Generation, Transmission, and Detection of 4-D Set-Partitioning QAM Signals,” J. Light. Technol., vol. 33, no. 7, pp. 1445–1451, Apr. 2015.
[51] S. Ishimura and K. Kikuchi, “Multi-dimensional permutation modulation aiming at both high spectral efficiency and high power efficiency,” in OFC 2014, 2014, pp. 1–3.
[52] L. Coelho and N. Hanik, “Global optimization of fiber-optic communication systems using four-dimensional modulation formats,” in European Conference and Exposition on Optical Communications, 2011, p. Mo–2.
[53] S. Shembil, “Spectrally Efficient Four Dimensional M-ary QAM for Synchronous DS-CDMA.”
[54] L. Litwin and M. Pugel, “The principles of OFDM,” RF Signal Process., vol. 2, pp. 30–48, 2001.
[55] “The Principles of OFDM | by Louis Litwin & Michael Pugel,” Wireless LAN Professionals, 26-Jul-2017. .
[56] Rupesh Sharma, “Design Ofdm System And Remove Nonlinear Distortion In OFDM Signal At …,” 22:51:31 UTC.
[57] D. W. K. Ng, E. S. Lo, and R. Schober, “Energy-efficient resource allocation in multiuser OFDM systems with wireless information and power transfer,” in 2013 IEEE Wireless Communications and Networking Conference (WCNC), 2013, pp. 3823–3828.
83
[58] D. Mérouane, “Short introduction to OFDM.,” White Pap. Mob. Commun. Group Inst. Eurecom, 2004.
[59] O. Amin, E. Bedeer, M. H. Ahmed, and O. A. Dobre, “Energy Efficiency #x2013;Spectral Efficiency Tradeoff: A Multiobjective Optimization Approach,” IEEE Trans. Veh. Technol., vol. 65, no. 4, pp. 1975–1981, Apr. 2016.
[60] A. F. Molisch, Wireless communications, 2nd ed. Chichester, West Sussex, U.K: Wiley : IEEE, 2011.
[61] G. C. C. Jr and J. B. Cain, Error-Correction Coding for Digital Communications. Springer Science & Business Media, 2013.
[62] W. C. Huffman and V. Pless, Fundamentals of Error-Correcting Codes. Cambridge University Press, 2010.
[63] M. J. E. Golay, “Notes on Digital Coding,” IEEE 37, p. 657, 1949. [64] D. E. Muller, “Application of Boolean algebra to switching circuit design and to
error detection,” Trans. IRE Prof. Group Electron. Comput., vol. EC-3, no. 3, pp. 6–12, Sep. 1954.
[65] A. Viterbi, “Convolutional Codes and Their Performance in Communication Systems,” IEEE Trans. Commun., vol. 19, no. 5, pp. 751–772, Oct. 1971.
[66] M. S. Ryan and G. R. Nudd, “The viterbi algorithm,” 1993. [67] V. L. Priya and D. R. Rao, “Design And Implementation Of Coding Techniques
For Communication Systems Using Viterbi Algorithm.” [68] D. Divsalar and F. Pollara, “On the design of turbo codes,” JPL TDA Prog. Rep.
42, vol. 123, pp. 99–121, 1995. [69] J. D. Andersen, A turbo tutorial. Institut for Telekommunikation, Danmarks
Tekniske Universitet, 1999. [70] “Decoding of Turbo Codes in Symmetric Alpha-Stable Noise : Figure 1.” [Online].
Available: https://www.hindawi.com/journals/isrn/2011/683972/fig1/. [Accessed: 05-Sep-2017].
[71] L. Bahl, J. Cocke, F. Jelinek, and J. Raviv, “Optimal decoding of linear codes for minimizing symbol error rate (Corresp.),” IEEE Trans. Inf. Theory, vol. 20, no. 2, pp. 284–287, Mar. 1974.
[72] M. F. Brejza, L. Li, R. G. Maunder, B. M. Al-Hashimi, C. Berrou, and L. Hanzo, “20 Years of Turbo Coding and Energy-Aware Design Guidelines for Energy-Constrained Wireless Applications,” IEEE Commun. Surv. Tutor., vol. 18, no. 1, pp. 8–28, Firstquarter 2016.
[73] K. Gracie and M.-H. Hamon, “Turbo and Turbo-Like Codes: Principles and Applications in Telecommunications,” Proc. IEEE, vol. 95, no. 6, pp. 1228–1254, Jun. 2007.
[74] R. M. Radaydeh and M. M. Matalgah, “Performance analysis of multiple carrier M-ary FSK system with diversity combining over generalized fading channels,” in Communications, 2005. ICC 2005. 2005 IEEE International Conference on, 2005, vol. 4, pp. 2357–2361.
[75] J. A. Massey, “Coding and modulation in digital communications.,” Int. Zurich Semin. Digit. Commun. Zurich Switz., no. 3rd, 1974.
84
[76] H. R. Sadjadpour, N. J. A. Sloane, M. Salehi, and G. Nebe, “Interleaver design for turbo codes,” IEEE J. Sel. Areas Commun., vol. 19, no. 5, pp. 831–837, May 2001.
[77] B. Johann, “Interleavers for Turbo Codes,” Master of Philisophy, The University of Malta, Department of Communications and Computer Engineering, 1999.
[78] J. J. Boutros and G. Zemor, “On quasi-cyclic interleavers for parallel turbo codes,” IEEE Trans. Inf. Theory, vol. 52, no. 4, pp. 1732–1739, Apr. 2006.
[79] S. Crozier and P. Guinand, “High-performance low-memory interleaver banks for turbo-codes,” in IEEE 54th Vehicular Technology Conference. VTC Fall 2001. Proceedings (Cat. No.01CH37211), 2001, vol. 4, pp. 2394–2398 vol.4.
[80] S. Crozier and P. Guinand, “Distance upper bounds and true minimum distance results for turbo-codes designed with DRP interleavers,” Ann. Télécommunications, vol. 60, no. 1–2, pp. 10–28, Feb. 2005.
[81] Y. Ould-Cheikh-Mouhamedou, S. Crozier, and P. Kabal, “Efficient distance measurement method for turbo codes that use structured interleavers,” IEEE Commun. Lett., vol. 10, no. 6, pp. 477–479, Jun. 2006.
[82] Y. Ould-Cheikh-Mouhamedou, S. Crozier, and P. Kabal, “Distance measurement method for double binary turbo codes and a new interleaver design for DVB-RCS,” in IEEE Global Telecommunications Conference, 2004. GLOBECOM ’04, 2004, vol. 1, p. 172–178 Vol.1.
[83] F. Daneshgaran and M. Mondin, “Iterative interleaver growth algorithms of polynomial complexity for turbo codes,” in Proceedings. 1998 IEEE International Symposium on Information Theory (Cat. No.98CH36252), 1998, p. 418-.
[84] C. J. Corrada-Bravo and I. Rubio, “Deterministic interleavers for turbo codes with random-like performance and simple implementation,” in Proc. 3rd International Symposium on Turbo Codes, 2003.
[85] C. Berrou, Y. Saouter, C. Douillard, S. Kerouedan, and M. Jezequel, “Designing good permutations for turbo codes: towards a single model,” in 2004 IEEE International Conference on Communications (IEEE Cat. No.04CH37577), 2004, vol. 1, pp. 341–345.
[86] E. Rosnes and O. Y. Takeshita, “Optimum Distance Quadratic Permutation Polynomial-Based Interleavers for Turbo Codes,” in 2006 IEEE International Symposium on Information Theory, 2006, pp. 1988–1992.
[87] J. Sun and O. Y. Takeshita, “Interleavers for turbo codes using permutation polynomials over integer rings,” IEEE Trans. Inf. Theory, vol. 51, no. 1, pp. 101–119, Jan. 2005.
[88] J. H. Ryu, Permutation Polynomial Based Interleavers for Turbo Codes Over Integer Rings: Theory and Applications. Ohio State University, 2007.
[89] J. Wang, K. Zhang, H. Kröll, and J. Wei, “Design of QPP Interleavers for the Parallel Turbo Decoding Architecture,” IEEE Trans. Circuits Syst. Regul. Pap., vol. 63, no. 2, pp. 288–299, Feb. 2016.
[90] C. L. Chi and C. H. Kuo, “Quadratic permutation polynomial interleaver for LTE turbo coding,” in 2012 International Conference on Information Security and Intelligent Control, 2012, pp. 313–316.
[91] W. J. Blackerty and S. G. Wilson, “Turbo trellis coded modulation,” 1996.
85
[92] D. Divsalar and F. Pollara, “Turbo trellis coded modulation with iterative decoding for mobile satellite communications,” in International Mobile Satellite Conference, 1997, pp. 333–339.
[93] F. A. Alder, “Symbol assignment and performance of simplex signaling in high dimensional trellis-coded modulation,” 1998.
[94] F. Alder, J. Dill, and A. Lindsey, “Simplex symbol assignment in circular trellis-coded modulation,” in Milcom, 1999, vol. 1, pp. 311–315.
[95] R. Chinchilla, “Interleaver Design for the Circular Simplex Turbo Block Coded Modulator,” PhD Thesis, Ohio University, Athens, OH, USA, 2003.
[96] H. Ma and J. Wolf, “On Tail Biting Convolutional Codes,” IEEE Trans. Commun., vol. 34, no. 2, pp. 104–111, Feb. 1986.
[97] D. J. Costello and G. D. Forney, “Channel coding: The road to channel capacity,” Proc. IEEE, vol. 95, no. 6, pp. 1150–1177, Jun. 2007.
[98] L. Sari, “Effects of puncturing patterns on punctured convolutional codes,” ℡KOMNIKA Indones. J. Electr. Eng., vol. 10, no. 4, pp. 752–762, 2012.
[99] J. Berkmann and I. T. AG, Non-periodic puncturing of turbo codes and convolutional codes. 2006.
[100] S. Yokohama, “Puncturing Algorithm for Turbo Code,” TSG-RAN Working Group, Japan, 4, Apr. 1999.
[101] J. Li, Q. Chen, S. Gao, Z. Ma, and P. Fan, “The optimal puncturing pattern design for rate-compatible punctured Turbo codes,” in Wireless Communications & Signal Processing, 2009. WCSP 2009. International Conference on, 2009, pp. 1–5.
[102] “Coded Modulation Library.” [Online]. Available: http://www.iterativesolutions.com/Matlab.htm. [Accessed: 17-Aug-2017].
[103] B. Yang, J. Lu, K. Chen, J. Zhang, and C. Dai, “Puncturing and interleaving analysis of a physical layer link based on IEEE802.11a,” in 2011 Global Mobile Congress, 2011, pp. 1–7.
[104] “US Patent Application for INTERLEAVING AND PUNCTURING APPARATUS AND METHOD THEREOF Patent Application (Application #20170230063 issued August 10, 2017) - Justia Patents Search.” [Online]. Available: http://patents.justia.com/patent/20170230063. [Accessed: 05-Sep-2017].
[105] R. Garzón-Bohórquez, C. A. Nour, and C. Douillard, “Improving Turbo Codes for 5G with parity puncture-constrained interleavers,” in 2016 9th International Symposium on Turbo Codes and Iterative Information Processing (ISTC), 2016, pp. 151–155.