ThesisPDF Available


for the purpose of obtaining the degree of doctor
at Delft University of Technology
by the authority of the Rector Magnificus T.H.J.J. van der Hagen,
chair of the Board for Doctorates
to be defended publicly on
Monday 6 December 2021 at 10:00 o’clock
Renfei BU
Master of Engineering in Information and Communication Engineering,
National University of Defense Technology, China,
born in Changsha, Hunan, China.
This dissertation has been approved by the promotors: J.H. Weber K.I. Aardal
Composition of the doctoral committee:
Rector Magnificus, chairman J.H. Weber, Delft University of Technology, promotor K.I. Aardal, Delft University of Technology, promotor
Independent members: R.E. Kooij, Delft University of Technology R. Heusdens, Netherlands Defence Academy
Delft University of Technology L. Van der Perre, KU Leuven
Prof.dr. K. Cai, Singapore University of Technology and Design
Prof.dr. D.C. Gijswijt, Delft University of Technology, reserve member
Other member: K.A. Schouhamer Im-
Turing Machines Inc.
This research was financially supported by China Scholarship Council (CSC).
Keywords: Coding techniques, Pearson distance, Euclidean distance, maximum
likelihood decoding, offset, gain, fading, mismatch.
Printed by: GVO drukkers & vormgevers
Front & Back: Xiumeng Sheng
Copyright © 2021 by Renfei Bu
ISBN 978-94-6332-812-8
An electronic version of this dissertation is available at
To my family
Summary ix
Samenvatting xi
1Introduction 1
1.1 Background ................................. 1
1.1.1 Flash Memory and Its Issue of Charge Leakage. . . . . . . . . . . . 1
1.1.2 Error-Correcting Codes . . . . . . . . . . . . . . . . . . . . . . . 4
1.2 Related Research .............................. 5
1.3 Research Questions ............................. 8
1.4 Thesis Overview............................... 9
2Basic Concepts and Methods 11
2.1 Basic Concepts ............................... 11
2.1.1 Basic Definitions for Codes . . . . . . . . . . . . . . . . . . . . . 11
2.1.2 Some Code Families . . . . . . . . . . . . . . . . . . . . . . . . . 14
2.2 Channel Model ............................... 15
2.3 Minimum Euclidean Distance Based Detection (MED) . . . . . . . . . . . 17
2.3.1 Performance Analysis . . . . . . . . . . . . . . . . . . . . . . . . 19
2.4 Minimum Pearson Distance Based Detection (MPD) . . . . . . . . . . . . 20
2.4.1 Pearson Codes . . . . . . . . . . . . . . . . . . . . . . . . . . . . 22
2.4.2 Performance Analysis . . . . . . . . . . . . . . . . . . . . . . . . 23
2.5 Minimum Modified Pearson Distance Based Detection (MMPD) . . . . . . 25
2.5.1 Performance Analysis . . . . . . . . . . . . . . . . . . . . . . . . 26
3Noisy Channels with Unknown Offset Mismatch 31
3.1 Introduction . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 32
3.2 Maximum Likelihood Decoding for Channels with Bounded Noise and
Offset . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 33
3.2.1 Decoding Criterion . . . . . . . . . . . . . . . . . . . . . . . . . 34
3.2.2 Case Studies . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 35
3.2.3 Zero Error Analysis. . . . . . . . . . . . . . . . . . . . . . . . . . 39
3.3 Maximum Likelihood Decoding for Channels with Gaussian Noise and
Offset . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 43
3.4 Decoding of Concatenated Codes for Channels With Gaussian Noise and
Offset . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 49
3.4.1 RS-Coset Codes . . . . . . . . . . . . . . . . . . . . . . . . . . . 50
3.4.2 Decoding Algorithm for Concatenated Coding Scheme . . . . . . . 51
3.4.3 Performance Evaluation . . . . . . . . . . . . . . . . . . . . . . . 54
3.5 Conclusion ................................. 58
4Noisy Channels with Signal Dependent Offset Mismatch 59
4.1 Introduction . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 60
4.2 Maximum Likelihood Decoding For Channels with Uniform Noise and
Signal Dependent Offset . . . . . . . . . . . . . . . . . . . . . . . . . . 61
4.2.1 Decoding Criterion . . . . . . . . . . . . . . . . . . . . . . . . . 61
4.2.2 Zero Error Analysis. . . . . . . . . . . . . . . . . . . . . . . . . . 63
4.2.3 Performance Evaluation . . . . . . . . . . . . . . . . . . . . . . . 66
4.3 Maximum Likelihood Decoding For Channels with Gaussian Noise and
Signal Dependent Offset . . . . . . . . . . . . . . . . . . . . . . . . . . 67
4.3.1 Special Case Study . . . . . . . . . . . . . . . . . . . . . . . . . . 72
4.3.2 Complexity Reduction . . . . . . . . . . . . . . . . . . . . . . . . 73
4.3.3 Performance Evaluation . . . . . . . . . . . . . . . . . . . . . . . 76
4.4 Conclusion ................................. 79
5Noisy Channels with Gain and Offset Mismatch 81
5.1 Introduction . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 81
5.2 Maximum Likelihood Decoding. . . . . . . . . . . . . . . . . . . . . . . 83
5.3 Special Cases . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 86
5.3.1 Gain-Only Case . . . . . . . . . . . . . . . . . . . . . . . . . . . 86
5.3.2 Offset-Only Case . . . . . . . . . . . . . . . . . . . . . . . . . . . 88
5.3.3 Unbounded Gain and Offset Case . . . . . . . . . . . . . . . . . . 89
5.4 Simulation Results . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 90
5.5 Conclusion ................................. 90
6Noisy Channels with Slowly Varying Offset Mismatch 93
6.1 Introduction . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 93
6.2 Prior Art................................... 94
6.3 MPD Detection Using a Difference Operator . . . . . . . . . . . . . . . . 97
6.4 Pair-Constrained Codes . . . . . . . . . . . . . . . . . . . . . . . . . . . 97
6.4.1 Cardinality . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 99
6.4.2 Redundancy . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 101
6.4.3 Systematic Coding . . . . . . . . . . . . . . . . . . . . . . . . . . 103
6.5 Noise Considerations . . . . . . . . . . . . . . . . . . . . . . . . . . . . 108
6.6 Discussion . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 111
7Conclusion and Future Work 113
7.1 Conclusion . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 113
7.2 Future Work. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 115
Bibliography 117
Curriculum Vitæ 125
Data transmission is ubiquitous in all walks of life, ranging from basic home and of-
fice appliances like compact disc players and hard disk drives to deep space communica-
tion. More often than not, the communication and storage channels are noisy, and data
might be distorted during transmission. However, noise is not the only disturbance dur-
ing the data transmission, and information can sometimes be seriously distorted by the
phenomena of unknown channel gain or offset (drift) mismatch. The conventional mini-
mum Euclidean distance based detection, where the receiver picks a codeword from the
codebook to minimize the Euclidean distance with the received word, has a poor per-
formance under the gain and/or offset mismatch. Recently, a Pearson distance based
detection was introduced, which is immune to unknown offset and/or gain mismatch,
but the drawback is that it is pretty sensitive to errors caused by the noise.
This thesis investigates possible coding techniques to improve decoders’ performance
in noisy channel conditions while maintaining the resistance against the gain and/or off-
set mismatch. The results discussed in the thesis are divided into four parts, based on
different assumptions on the gain and/or offset mismatch. We describe each of the parts
in further detail below.
We start with a fundamental model, where the offset mismatch is constant within
a codeword length. A method called maximum likelihood (ML) decoding outputs the
codeword that has the highest likelihood to the received word. Firstly, an ML decoding
criterion is derived when assuming bounded distributions for both noise and offset mis-
match. Most importantly, we investigate, for the proposed decoder, under which condi-
tions zero word error rate performance can be achieved. Moreover, assuming Gaussian
distributions for both noise and offset mismatch, we show that an ML decoding criterion
is, in fact, to minimize a weighted average of Euclidean distance and Pearson distance.
Based on this, we propose a concatenated scheme and its corresponding decoding algo-
rithm. The concatenation is between a Reed-Solomon (RS) code and a certain coset of a
block code (Coset). To maintain the immunity to offset mismatch, decoding on the inner
Coset code is based on the Pearson distance while decoding the outer RS code adapts an
efficient two-stage decoding algorithm. The proposed scheme achieves significant cod-
ing gain while it is simultaneously immune to offset mismatch.
Next, we look at a different model of the offset mismatch, where the offset mismatch
is a signal dependent parameter. The signal dependency of the offset signifies that it
may differ for distinct signal levels. We investigate an ML decoding criterion, assuming
uniform distributions for both the noise and the signal dependent offset. In particular,
for the proposed ML decoder, specific constraints on the standard deviations of the noise
and the offset can lead to a zero error performance. Later, we derive an ML decoding
criterion for signals suffering from Gaussian noise and signal dependent offset. Besides
the ML criterion itself, an option to reduce the complexity is also considered. A brief
performance analysis demonstrates the superiority of the newly developed ML decoder
over classical decoders based on the Euclidean or Pearson distances.
We then direct our attention to a channel model in which the retrieved data is cor-
rupted by Gaussian noise, gain, and offset mismatch. The intervals from which the gain
and offset values are taken are known, but no further assumptions on their distributions
are made. We derive a general framework of ML decoding criteria for such channels
based on finding a codeword with the closest Euclidean distance to a specified set de-
fined by the received vector and the gain and offset parameters. In addition, we give
a geometric interpretation of the proposed ML criteria. It is shown that certain known
criteria, including the gain-only case and the offset-only case, appear as special cases.
Lastly, we consider an even more complicated model, where data is transmitted over
noisy channels with unknown gain and varying offset mismatch. We present a scheme
for channels with unknown gain and varying offset, where Pearson distance based detec-
tion is used in conjunction with a difference operator. Pair-constrained codes are pro-
posed for unambiguous decoding, where, in each codeword, certain adjacent symbol
pairs must appear at least once. These codes significantly reduce redundancy compared
to previously proposed mass-centered codes, making the new scheme an attractive al-
ternative for practical applications. We also propose a systematic encoding algorithm of
pair-constrained codes, and its redundancy is analyzed for memoryless uniform sources.
Gegevensoverdracht is alomtegenwoordig, variërend van basistoestellen voor thuis
en op kantoor, zoals compact disc-spelers en harde schijven, tot communicatie in de
ruimte. De communicatie- en opslagkanalen hebben vaak last van ruis en de gegevens
kunnen tijdens de transmissie worden vervormd. Ruis is echter niet de enige versto-
ring tijdens de gegevensoverdracht, en de informatie kan soms ernstig worden vervormd
door onbekende kanaalverschijnselen, zoals mismatch van de gain of de offset (drift). De
conventionele detectie op basis van de minimale Euclidische afstand, waarbij de ontvan-
ger een codewoord uit het codeboek kiest om de Euclidische afstand met het ontvangen
woord zo klein mogelijk te houden, levert slechte prestaties bij mismatch in gain en/of
offset. Onlangs is een Pearson afstandsgebaseerde detectie geïntroduceerd, die immuun
is voor onbekende offset en/of gain, maar het nadeel is dat deze erg gevoelig is voor fou-
ten veroorzaakt door ruis.
Deze dissertatie onderzoekt mogelijke coderingstechnieken om de prestaties van de-
coders in ruisige kanaalomstandigheden te verbeteren, terwijl de weerstand tegen de
mismatch van de gain en/of de offset behouden blijft. De resultaten die in het proef-
schrift worden besproken zijn verdeeld in vier delen, gebaseerd op verschillende aanna-
mes over de gain en/of offset mismatch. We beschrijven elk van de delen hieronder in
meer detail.
We beginnen met een fundamenteel model, waarbij de offset mismatch constant is
binnen een codeword lengte. Een methode genaamd maximum likelihood (ML) deco-
ding geeft het codewoord dat de hoogste waarschijnlijkheid heeft voor het ontvangen
woord. Eerst wordt een ML-decodeercriterium afgeleid wanneer wordt uitgegaan van
begrensde verdelingen voor zowel ruis als offset mismatch. Het belangrijkste is dat we
onderzoeken, voor de voorgestelde decoder, onder welke voorwaarden een woordfou-
tenkans van nul kan worden bereikt. Bovendien tonen we aan, uitgaande van Gaussi-
sche verdelingen voor zowel ruis als offset mismatch, dat een ML-decoderingscriterium
in feite het minimaliseren is van een gewogen gemiddelde van Euclidische afstand en
Pearson-afstand. Op basis hiervan stellen wij een aaneengeschakeld schema en het bij-
behorende decoderingsalgoritme voor. De aaneenschakeling is tussen eenReed-Solomon
(RS) code en een bepaalde coset van een blokcode (Coset). Om de immuniteit tegen
offset-mismatches te behouden, is de decodering van de binnenste Coset-code geba-
seerd op de Pearson-afstand, terwijl voor de decodering van de buitenste RS-code een
efficiënt tweefasig decoderingsalgoritme wordt gebruikt. Het voorgestelde schema be-
reikt een aanzienlijke coderingswinst terwijl het tegelijkertijd immuun is voor offset mis-
Vervolgens bekijken we een ander model van de offset-mismatch, waarbij de offset-
mismatch een signaal afhankelijke parameter is. De signaalafhankelijkheid van de off-
set betekent dat deze kan verschillen voor verschillende signaalniveaus. Wij onderzoe-
ken een ML-decodeercriterium, uitgaande van uniforme verdelingen voor zowel de ruis
als de signaal afhankelijke offset. In het bijzonder kunnen voor de voorgestelde ML-
decoder specifieke beperkingen op de standaardafwijkingen van de ruis en de offset lei-
den tot een nul-fout prestatie. Later leiden we een ML-decodeercriterium af voor signa-
len met Gaussische ruis en signaal afhankelijke offset. Naast het ML-criterium zelf, wordt
ook een optie overwogen om de complexiteit te verminderen. Een beknopte prestatie-
analyse toont de superioriteit aan van de nieuw ontwikkelde ML-decoder ten opzichte
van klassieke decoders gebaseerd op de Euclidische of Pearson-afstanden.
Vervolgens richten wij onze aandacht op een kanaalmodel waarin de opgehaalde ge-
gevens worden gecorrumpeerd door Gaussische ruis, gain en offset mismatch. De inter-
vallen waaruit de gain- en offset-waarden worden genomen zijn bekend, maar er worden
geen verdere aannames gedaan over hun verdelingen. Wij leiden een algemeen kader af
van ML-decodeercriteria voor dergelijke kanalen, gebaseerd op het vinden van een co-
dewoord met de Euclidische afstand die het dichtst ligt bij een gespecificeerde reeks,
gedefinieerd door de ontvangen vector en de gains- en offset-parameters. Bovendien
geven wij een geometrische interpretatie van de voorgestelde ML-criteria. Er wordt aan-
getoond dat bepaalde bekende criteria, met inbegrip van het geval van alleen de gain en
alleen de offset, als speciale gevallen voorkomen.
Tenslotte beschouwen wij een nog gecompliceerder model, waarbij gegevens wor-
den verzonden over ruiskanalen met onbekende gain en een variërende offset-mismatch.
Wij presenteren een schema voor kanalen met onbekende gain en variërende offset,
waarbij detectie op basis van Pearson-afstand wordt gebruikt in combinatie met een
verschil-operator. Voor ondubbelzinnige decodering worden paarsgewijze codes voor-
gesteld, waarbij in elk codewoord bepaalde aangrenzende symboolparen ten minste een-
maal moeten voorkomen. Deze codes verminderen de redundantie aanzienlijk in verge-
lijking met eerder voorgestelde massa-gecentreerde codes, waardoor het nieuwe schema
een aantrekkelijk alternatief wordt voor praktische toepassingen. We stellen ook een sys-
tematisch coderingsalgoritme voor paarsgewijze codes voor, en de redundantie wordt
geanalyseerd voor geheugenloze uniforme bronnen.
This chapter provides an introduction to this thesis. We first introduce the background
and the basics of error-correcting codes. Then we talk about the research status of coding
techniques over channels with noise, gain and/or offset mismatch, and present the moti-
vation of this work. Afterward, we shortly describe the contribution of each chapter.
With the rapid development of the Internet and personal consumer electronics, the
amount of data created and replicated experienced unusually high growth in 2020 due
to the dramatic increase in the number of people working, learning, and entertaining
themselves from home. According to the International Data Corporation [1], the ‘Global
Datasphere’ in 2020 reached 64.2 zettabytes, defying the systemic downward pressure
asserted by the COVID-19 pandemic on many industries. The explosive growth of data
caused a great deal of pressure. The rapid growth in the amount of data has an increas-
ingly high demand for storage capacity. The increasing value of the data itself also re-
quires fewer risks of error when transmitting it. As a result, the ability to transmit and
store large-scale data reliably is of great importance.
It is usually found that noise is an important issue during data transmission. How-
ever, other physical factors may also hamper the reliability of the stored data. Tackling
the problem of data distortions such as noise, intersymbol interference, gain and/or off-
set mismatch, fading, clock jitter, etc., is a fundamental and challenging topic in the the-
ory of channel coding. We are interested in data transmission and storage over channels
with noise and gain and/or offset mismatch. Perhaps the best-known example of these
channels is Flash memory, which we will discuss in detail in the following section.
Storage media can be divided into volatile memory and non-volatile memory ac-
cording to whether they can keep the information even after power is removed. The
most typical volatile memory includes dynamic random access memory and static ran-
dom access memory. Although volatile memory can only save data temporarily, its high-
speed access feature makes it widely used in processing units, which undertakes the vital
task of caching data and instructions in both big data systems and embedded systems.
Besides, the non-volatile memory is usually for external and long-term uses because it
can stably keep the data for a long time.
As a non-volatile memory with high reliability, high capacity, and low cost, Flash
memories [2,3] are widely used for storage and data transfer in consumer electronics,
enterprise systems, and industrial applications. Flash memory programs several bytes of
data on a page and rewrites data at byte level. Several pages form a block, and the eras-
ing process is based on blocks. In addition to the information, each page has a relatively
small redundant area for storing the file system and error correction codes. Structure of
the storage array inside MT29F64G08CBAB[A/B] Flash memory chip of the Micron com-
pany [4] is shown in Figure 1.1 as an example. The storage capacity of 64 Gb is divided
into two sides, each of which has 2048 blocks. Each block contains 256 pages, and the
data area and redundancy area of each page are 8192 bytes and 744 bytes, respectively.
Double-sided design is a common way to improve the read-write efficiency in advanced
Flash memory. When one side is in the read or write state, the other side can execute
new read-write instructions.
1Page=8936bytes 1Page=8936bytes
1Block=256Pages 1Block=256Pages
1Plane=2048Blocks 1Plane=2048Blocks
Figure 1.1: Structure of storage array inside Flash.
The most direct way to increase the storage capacity of Flash memories is to intro-
duce multi-level cell technology. According to the number of bits stored in each mem-
ory cell, Flash memories can be divided into single-level cell (SLC) and multi-level cell
(MLC). Flash memories are built from programmable and erasable floating-gate transis-
tors. The information is represented by the amount of charge on a gate [5], and this
charge within a specific voltage range gives a possible value of a cell. Figure 1.2 de-
scribes the voltage distributions for an SLC, an MLC, and a triple-level cell (TLC). The
x-axis and y-axis are voltages and the distribution of voltages that correspond to differ-
ent charge states, respectively. Charge voltage in an SLC is only divided by high and
low levels, storing only one bit per memory cell, while an MLC is generally divided into
four intervals from the highest level to the lowest level. Each storage cell can store two
bits of information [6,7]. There is a TLC with even more voltage intervals that can store
three-dimensional information to pursue a large capacity further. For instance, each
value level (0,1,.. . , 7) in a TLC represents a 3-bits information that is stored in the Flash
cell, e.g. 111, 110, 100, 000, 010, 011, 001, or 101. It is clear that, as the number of lev-
els increases, MLC and TLC significantly enhance the storage capacity of Flash mem-
ories compared with SLC. However, the ranges of voltage that each value may occupy
decrease. Smaller intervals in the TLC, for instance, have a higher overlap, resulting in a
higher error possibility when the voltage may deviate from the nominal values due to the
physical effect. Thus, multi-level cell technology also reduces Flash memories reliability
and introduces higher error risk.
0 1
Voltage distribution
0 1
Voltage distribution
2 3
Voltage distribution
2 3 4 5 6 7
Figure 1.2: The distributions of the voltage in a cell for various values are shown for the SLC (one bit per cell)
case on top, the MLC (two bits per cell) case in the middle, and the TLC (three bits per cell) case on the bottom.
Note that the distribution in the TLC case must be much thinner to fit the same voltage interval and, even so,
have a much larger potential for error.
The reliability of multi-level cell memories experiences a diverse set of short-term
and long-term deviations. Short-term variations exacerbate unpredictable stochastic
errors. For example, random errors occur under a program/erase (P/E) cycling process,
where the data was read out right after programming.
As for the long term, charge leakage may be one of critical issues of multi-level cell
memories. As documented in [813], voltage of a cell decreases and some cells even be-
come defective over time. The amount of charge leakage, which can be modeled as gain
and/or offset mismatch, depends on various physical parameters, such as the device
temperature, the magnitude of the charge, and the time elapsed between writing and
reading data [11]. Importantly, the charge leakage leads to a severe shift in the voltage
distribution over time. Techspot reports an unfortunate degradation of the read perfor-
mance of Samsung’s solid-state drive (SSD) 840 [14], which happens in older data blocks.
Reading old files is always slower than normal (about 30MB/s) due to its inherent volt-
age drift, while newly written files (such as those used in benchmarks) are as fast as new
(about 500MB/s for the well-regarded SSD 840 EVO). Figure 1.3 shows the threshold volt-
age distribution of Flash memory at different retention ages for 8k P/E cycles [12]. If a
predetermined fixed threshold detection is used, these offsets will increase the potential
for errors.
Figure 1.3: Threshold voltage distribution of MLC NAND Flash memory versus retention age [12].
Flash consumption on disk drives or SD cards has exploded over the last ten years,
and new products, such as SSDs, are now making a significant introduction into personal
electronics, mobile computing, intelligent vehicles, enterprise storage, data warehouse,
and data-intensive computing systems. It is a crucial task to improve and expand non-
volatile Flash technologies. However, Flash also faces significant challenges, which can
be overcome to a certain extent through innovative coding and signal processing tech-
nologies. We will give a brief introduction to coding theory in the following subsection.
The results in this thesis are not limited to only Flash memory but also support other
data transmission processes facing the same problem.
Any communication channel refers to the transmission of information, either in a
spatial domain from one place to another or a time domain from one time to another. In
these two types of communication channels, information may not be transmitted cor-
rectly. Various factors may cause these distortions. If information is transmitted in the
spatial domain, then any natural source, such as weather conditions, radiation, thermal
effects, etc., will cause errors. In the time domain, information is stored on a memory de-
vice, and any physical defect or reduction in memory reliability will damage the stored
data. For example, a scratch on a CD will damage the stored information. In both chan-
nels, the reliability issue of information transmission needs to be solved with proper
signal processing and coding techniques.
Over half a century ago, the concept of coding theory was proposed by Claude E.
Shannon in a seminal paper entitled “A Mathematical Theory of Communication”. In his
paper, the coding theory is subdivided into source coding theory and channel coding
theory. Source coding theory reduces the number of bits needed to describe the data be-
fore transmitting them, which provides an efficient representations of data. On the other
hand, by proper channel coding of the information, we can reduce the errors caused by
the channel to any desired level without sacrificing the information transformation rate,
as long as the information rate is less than the channel capacity. In this research, we
focus on improving the error-correction ability of data transmission by channel coding.
Error-correcting codes provide a way of protecting the information from corruption in
the channel. A simple block diagram of the data transmission in which error-correcting
coding is applied is shown in Figure 1.4. The idea is to add some redundancy into a
message usuch that the original message can be obtained from received signals even
if it is corrupted. We call this encoding, and an encoder gives the encoded sequence
x, which is called the codeword. The set of codewords forms a code. We transmit the
codeword over the channel. The process is then to decode the received sequence rto
a message uoby a decoder. Successful decoding is not always guaranteed because of
channel distortions.
Figure 1.4: Coding block diagram.
A simple method to add redundancy to protect our message is to transmit multi-
ple copies of the message. Instead of transmitting only the message itself, at least three
copies should be transmitted. A decoder decodes the received word to a message based
on a simple decoding rule – the most frequently occurred message is the transmitted
one. Then the decoder can output the correct message if only one copy is wrong. This
rule is not guaranteed to catch all errors. However, the probability of error is reduced. We
call this a repetition code. The Hamming code is another error-correcting code, which
entails redundant parity check bits in the original message. Each check bit calculates
the parity for some of the bits in the codeword. If the number of 1’s among these bits are
even, then the parity is 0; if the number of 1’s among these bits are odd, then the parity
is 1. On the receiver, calculating the parity of the received word can reveal whether there
are any errors and where the errors are located. We will introduce some well-known
error-correcting codes in detail in the next chapter.
As we discussed before, there are various distortions, and we are interested in dealing
with noise and gain and/or offset mismatch. One would like to understand how these
channels with gain and/or offset mismatch differ from the classical noisy ones. There
are conceptual connections, as well as significant differences between the noise distor-
tion and the offset mismatch. Both of them are considered to have negative effects on
the transmitted or stored signals. However, noise is a symbol-wise distortion, which is
usually independently distributed for each symbol, and thus its value changes symbol
by symbol. On the one hand, considering continuous inputs to the channel, the noise
is usually modeled as an additive Gaussian variable. Decoders based on Euclidean dis-
tance are widely used as they have been shown to be optimal for additive white Gaussian
noise [15]. On the other hand, we take a look at a binary discrete memoryless channel.
When we wish to transmit a single bit (0 or 1), the bit may be flipped to the incorrect value
(0 1 or 1 0). A binary symmetric channel, where 0 1 and 1 0 errors occur with
equal probability, is the simplest model for information transmission via a discrete chan-
nel, where the only distortion is additive white Gaussian noise. Most classes of codes are
designed for adopting in symmetric channels, such as BCH codes [16], Reed-Solomon
codes [17], LDPC codes [18], trellis coded modulation [19], and so on.
Gain and/or offset mismatch, on the contrary, is a type of block-wise distortion. It
remains constant within one codeword length, then may change to another value and
remains constant for another codeword length, and so on. As a result, while Euclidean
distance-based decoding is known to be optimal if the transmitted or stored signals are
only disturbed by Gaussian noise, it may perform poorly if there is a channel mismatch
as well. We now turn to information transmission via a discrete channel. The offset
mismatch has a high possibility to cause asymmetric or unidirectional errors since it is
constant within a codeword length. A binary word is said to suffer from unidirectional er-
rors if all errors are of the same type when sending a certain codeword [20], even though
both 1 0 and 0 1 errors are possible. If we have a priori knowledge of what the
types will be, they are called asymmetric errors [21]. In many practical applications, we
can observe such asymmetric or unidirectional errors, for example, static random access
memory cell [22], on-chip buses [23], and phase change memory [24,25].
Clearly, to ensure reliable transmission over channels with noise and gain and/or
offset mismatch, the use of some error detecting or/and correcting techniques has be-
come mandatory. However, handling the problem of the unknown channel mismatch
is a great challenge since coding techniques designed for noise may not be suitable for
dealing with the channel mismatch due to the differences between them. Much of the
research pays particular attention to gain and/or offset mismatch issues. These stud-
ies can be classified into the following three broad categories: (i) reference/pilot based
methods, (ii) code constructions, and (iii) efficient detecting schemes.
(i) A few proposals overcome the negative effect of the gain and/or offset mismatch by
using previous sequences or reference symbols.
A straightforward method applied in many practical transmission systems is an au-
tomatic gain (AGC) and offset control [26]. AGC modifies values of received signals de-
pending on the weighted average offset of previously received sequences. Nevertheless,
if the offset changes very rapidly, an AGC may be sub-optimal. A similar approach is
accomplished by using training sequences or reference memory cells to estimate the
unknown channel offset [27] and then adjusting the detector settings to match the ac-
tual values. Estimated values may be inaccurate because they lag behind actual values.
Inserting reference symbols more frequently can improve the estimation; however, this
comes at the cost of higher redundancy. A method is proposed in [13] for threshold cal-
ibration that is based on a small amount of pilot data per Flash page. Depending on the
observed number of errors in the pilot data, corrections of voltage shifts are taken from
a simple look-up table. However, the look-up tables are calculated using measurements
of only a small number of scenarios, which can not cover all possible life-cycle states.
Recently, machine learning has developed rapidly, and it has shown superior per-
formance in many aspects of communication systems. Employing a machine learning
based technique in the improvement of the estimation of channel parameters is investi-
gated in [2831]. With these machine learning based frameworks, all the unknown off-
set or unpredictable variations in channels can be learned from the training data, thus
avoiding the difficult task of modeling the practical channels. However, a large amount
of training data are required to establish an unknown input-output relationship of the
estimation model. The estimation may not be accurate without adequate training data.
All of the studies reviewed here show a strong resistance for not only the mismatch is-
sue but also other unpredictable variations. This benefit comes at the cost of complexity
as they need plenty of training data or reference symbols. Accuracy of estimated channel
parameters might be another issue, especially for high-speed applications.
(ii) Up to now, various coding techniques have been applied to alleviate the detection
in case of channel mismatch, such as, rank modulation [32], balanced codes [3337], and
composition check codes [38].
In rank modulation [32], data is carried by the relative charge levels of many cells
and not by the charge level in a single cell. Assume a sequence of the charge levels in 5
cells is (6,1,3, 2, 10). A codeword in this scheme is a permutation of cells induced by the
charge levels of the cells, that is, (5,1, 3,4, 2). This coding by ranking of charge levels elim-
inates the problem of charge leakage in aging devices. Research on the rank modulation
scheme since its introduction more than ten years ago is developed extensively [3943].
The notion of dynamic thresholds based on balanced codes is introduced in [33] for
the reading of binary sequences. It is further shown to be highly effective against er-
rors caused by voltage drift in Flash memories [3436]. A balanced code consists of the
sequences where the number of ones equals the number of zeros. With the dynamic
thresholds scheme, there are no thresholds for comparison when reading signals if we
use the balanced code since it has a fixed distribution of levels. However, this method
adds complexity in encoding and decoding balanced codes, and the size of the code-
book is relatively small. The generating function offers a tool for enumerating the bal-
anced codes [44,45]. Encoding/decoding of balanced codes has attracted a considerable
amount of research and engineering attention [46,47].
A balanced code is a constant composition code. The error performance of opti-
mal detection of codewords that are drawn from a single constant composition code is
immune to offset mismatch as showed by Slepian [37]. To further increase the size of
the codebook, a composition check code is proposed [38]. Composition check codes
have the virtues of Slepian’s optimal detection method. A label is added that informs
the receiver regarding the constant composition code to which the sent main data word
belongs such that the encoding of the main data into a constant composition code is
The research reviewed here suggests a pertinent role in using proper coding schemes
to solve the offset mismatch issue. However, the disadvantages of these methods, which
have limited applicability, are the high redundancy and complexity. For example, the
redundancy of a full set of balanced codewords is O(logm), where mis the number of
user bits [48].
(iii) A promising decoding technique with asymptotic zero redundancy as the code-
word length increases is proposed in [49], where it is shown that decoders using the
Pearson distance have immunity to offset and/or gain mismatch. A study [50] shows that
a digital modulation transceiver based on Pearson distance detection provides excellent
error performance for noisy channels with Rayleigh fading. The use of the Pearson dis-
tance requires that the set of codewords satisfies several specific properties. Such sets
are called Pearson codes, which have attracted a lot of interest [5155]. In [51], optimal
Pearson codes are presented, in the sense of having the largest number of codewords
and thus minimum redundancy among all q-ary Pearson codes of fixed length n. Prop-
erties of binary Pearson codes are discussed in [52,53], where the Pearson noise distance
is compared to the well-known Hamming distance. A simple systematic Pearson coding
scheme, that maps sequences of information symbols generated by a q-ary source to
q-ary code sequences, is proposed in [54]. Construction of a particular kind of Pearson
codes, i.e., T-constrained codes [49], using a finite state machine, is introduced in [55].
Furthermore, a considerable amount of literature has grown around the theme of
Pearson distance that tackles the offset mismatch issues. In [56], a decoder is proposed
based on minimizing a weighted sum of Euclidean and Pearson distances. A dynamic
threshold detection scheme is proposed in [57], where the gain and offset are first es-
timated based on Pearson distance detection. The estimates of the gain and offset are
used to re-scale the received signal within its normal range. Then, the re-scaled signal,
brought into its standard range, can be forwarded to the final detection/decoding sys-
tem, where the distance properties of the code can be optimally utilized by applying, for
example, the Chase algorithm [58]. A detection scheme for channels with gain and such
varying offset is investigated in [59,60], where, for the binary case, minimum Pearson
distance based detection is used in conjunction with mass-centered codewords.
The above decoding methods have improved the resilience to gain and/or offset mis-
match, or even established immunity to it. However, the price paid for this benefit is a
higher noise sensitivity. There is a natural decoding technique, known as maximum like-
lihood (ML) decoding, where the decoder outputs the codeword with the highest likeli-
hood of being the one that was actually transmitted.
Minimum Euclidean distance detection is an ML criterion for an additive white Gaus-
sian noise channel[15], but it may perform poorly against gain and/or the offset mis-
match. Minimum Pearson distance detection is an ML criterion for the gain and/or
offset mismatch channel without noise [49]. It is crucial and challenging to study the
ML decoding solutions considering both noise and offset issues. Blackburn [61] inves-
tigates an ML criterion for channels with Gaussian noise and unknown gain and offset
mismatch. In a subsequent study, ML decoding criteria are derived for Gaussian noise
channels when assuming various distributions for the offset in the absence of gain mis-
match [62]. This research aims to investigate possible coding techniques for noisy chan-
nels with gain and/or offset mismatch.
Main Research Question: what are possible ways to improve decoders’ error correction
performances with noisy channel conditions while maintaining the resistance against
gain and offset mismatch?
Investigating this research question, we consider four models of offset mismatch
from simple to complex. The offset mismatch, which is constant within a codeword
length, serves as the most fundamental model. The next part concerns the dependency
between offset mismatch and signal levels. Later we discuss channels with gain and
offset mismatch. A gain and slowly varying offset model is our last consideration. The
various forms of the channel mismatch provide different ways to externalize physical
distortions in practical systems, but they are not limited only by those shown in this
How can an ML decoding criterion be established for noisy channels with offset mis-
In storage and communication systems, noise is not the only disturbance during
data transmission. Sometimes the error performance can also be seriously de-
graded by other physical factors, such as offset mismatch. We focus on noisy chan-
nels with unknown offset mismatch, where an offset is constant within a codeword
length and may vary word by word. An ML decoding, which outputs that the code-
word has the highest likelihood to the received word, is carried out for such chan-
How to establish an ML decoding criterion for noisy channels with signal dependent
offset mismatch?
With the changes in the environment, different signal levels may suffer from dis-
tinct offset mismatch values. The signal dependency of the offset signifies that it
may differ for different signal levels. This thesis explores an ML decoding crite-
rion for noisy channels with signal dependent offset mismatch and discusses two
situations – uniform and Gaussian distributions for noise and offset mismatch.
What are an ML decoding criterion for noisy channels with gain and offset mis-
An ML decoding is considered for channels with gain and offset mismatch. We
discuss an ML decoding for situations with different gain and/or offset and provide
geometric interpretations of gain and offset.
What are possible detecting techniques for noisy channels with gain and slowly
varying offset mismatch?
The basic premises considered here are that a codeword is received with an un-
known gain, is offset by an unknown varying offset, and corrupted by additive
Gaussian noise. We study minimum Pearson distance based detection in conjunc-
tion with a difference operator. It is independent of unknown channel gain and
varying offsets. For such a detection scheme, constrained codes need to develop
The first two chapters introduce the research background and basic mathematics
definitions used in this thesis. Related prior works are presented as well.
Chapter 3mainly discusses the coding techniques for a simple and basic model of
noisy channels with offset mismatch, where an unknown offset is assumed to be in the
all-one direction. An ML decoding criterion is first derived for such channels assuming
bounded distributions for both noise and offset mismatch. We also give the conditions
under which the proposed decoder achieves a zero error performance. Further, an ML
decoding criterion is presented for such channels with Gaussian noise and offset. A con-
catenated coding scheme is proposed in the case of Gaussian noise and offset mismatch.
A decoding algorithm for concatenated codes is also proposed. Simulation results verify
the algorithm’s effectiveness in combatting against offset mismatch.
Chapter 4takes a different look, and models the offset mismatch as a signal depen-
dent parameter. We investigate an ML decoding criterion for the situation that the noise
and the offset are uniformly distributed. A zero error performance is achieved when the
standard deviations of the noise and the offset are small enough. Later, an ML decod-
ing criterion is derived for such channels to improve and strengthen the resilience to