In
coding theory
Coding theory is the study of the properties of codes and their respective fitness for specific applications. Codes are used for data compression, cryptography, error detection and correction, data transmission and computer data storage, data sto ...
, decoding is the process of translating received messages into
codewords of a given
code
In communications and information processing, code is a system of rules to convert information—such as a letter, word, sound, image, or gesture—into another form, sometimes shortened or secret, for communication through a communicati ...
. There have been many common methods of mapping messages to codewords. These are often used to recover messages sent over a
noisy channel, such as a
binary symmetric channel
A binary symmetric channel (or BSCp) is a common communications channel model used in coding theory and information theory. In this model, a transmitter wishes to send a bit (a zero or a one), and the receiver will receive a bit. The bit will be ...
.
Notation
is considered a
binary code
A binary code represents plain text, text, instruction set, computer processor instructions, or any other data using a two-symbol system. The two-symbol system used is often "0" and "1" from the binary number, binary number system. The binary cod ...
with the length
;
shall be elements of
; and
is the distance between those elements.
Ideal observer decoding
One may be given the message
, then ideal observer decoding generates the codeword
. The process results in this solution:
:
For example, a person can choose the codeword
that is most likely to be received as the message
after transmission.
Decoding conventions
Each codeword does not have an expected possibility: there may be more than one codeword with an equal likelihood of mutating into the received message. In such a case, the sender and receiver(s) must agree ahead of time on a decoding convention. Popular conventions include:
:# Request that the codeword be resent
automatic repeat-request.
:# Choose any random codeword from the set of most likely codewords which is nearer to that.
:# If
another code follows, mark the ambiguous bits of the codeword as erasures and hope that the outer code disambiguates them
:# Report a decoding failure to the system
Maximum likelihood decoding
Given a received vector
maximum likelihood decoding picks a codeword
that
maximizes
:
,
that is, the codeword
that maximizes the probability that
was received,
given that was sent. If all codewords are equally likely to be sent then this scheme is equivalent to ideal observer decoding.
In fact, by
Bayes' theorem
Bayes' theorem (alternatively Bayes' law or Bayes' rule, after Thomas Bayes) gives a mathematical rule for inverting Conditional probability, conditional probabilities, allowing one to find the probability of a cause given its effect. For exampl ...
,
:
Upon fixing
,
is restructured and
is constant as all codewords are equally likely to be sent.
Therefore,
is maximised as a function of the variable
precisely when
is maximised, and the claim follows.
As with ideal observer decoding, a convention must be agreed to for non-unique decoding.
The maximum likelihood decoding problem can also be modeled as an
integer programming problem.
The maximum likelihood decoding algorithm is an instance of the "marginalize a product function" problem which is solved by applying the
generalized distributive law.
Minimum distance decoding
Given a received codeword
, minimum distance decoding picks a codeword
to minimise the
Hamming distance
In information theory, the Hamming distance between two String (computer science), strings or vectors of equal length is the number of positions at which the corresponding symbols are different. In other words, it measures the minimum number ...
:
:
i.e. choose the codeword
that is as close as possible to
.
Note that if the probability of error on a
discrete memoryless channel is strictly less than one half, then ''minimum distance decoding'' is equivalent to ''maximum likelihood decoding'', since if
:
then:
:
which (since ''p'' is less than one half) is maximised by minimising ''d''.
Minimum distance decoding is also known as ''nearest neighbour decoding''. It can be assisted or automated by using a
standard array. Minimum distance decoding is a reasonable decoding method when the following conditions are met:
:#The probability
that an error occurs is independent of the position of the symbol.
:#Errors are independent events an error at one position in the message does not affect other positions.
These assumptions may be reasonable for transmissions over a
binary symmetric channel
A binary symmetric channel (or BSCp) is a common communications channel model used in coding theory and information theory. In this model, a transmitter wishes to send a bit (a zero or a one), and the receiver will receive a bit. The bit will be ...
. They may be unreasonable for other media, such as a DVD, where a single scratch on the disk can cause an error in many neighbouring symbols or codewords.
As with other decoding methods, a convention must be agreed to for non-unique decoding.
Syndrome decoding
Syndrome decoding is a highly efficient method of decoding a
linear code
In coding theory, a linear code is an error-correcting code for which any linear combination of Code word (communication), codewords is also a codeword. Linear codes are traditionally partitioned into block codes and convolutional codes, although t ...
over a ''noisy channel'', i.e. one on which errors are made. In essence, syndrome decoding is ''minimum distance decoding'' using a reduced lookup table. This is allowed by the linearity of the code.
Suppose that
is a linear code of length
and minimum distance
with
parity-check matrix . Then clearly
is capable of correcting up to
:
errors made by the channel (since if no more than
errors are made then minimum distance decoding will still correctly decode the incorrectly transmitted codeword).
Now suppose that a codeword
is sent over the channel and the error pattern
occurs. Then
is received. Ordinary minimum distance decoding would lookup the vector
in a table of size
for the nearest match - i.e. an element (not necessarily unique)
with
:
for all
. Syndrome decoding takes advantage of the property of the parity matrix that:
:
for all
. The ''syndrome'' of the received
is defined to be:
:
To perform
ML decoding in a
binary symmetric channel
A binary symmetric channel (or BSCp) is a common communications channel model used in coding theory and information theory. In this model, a transmitter wishes to send a bit (a zero or a one), and the receiver will receive a bit. The bit will be ...
, one has to look-up a precomputed table of size
, mapping
to
.
Note that this is already of significantly less complexity than that of a
standard array decoding.
However, under the assumption that no more than
errors were made during transmission, the receiver can look up the value
in a further reduced table of size
:
List decoding
Information set decoding
This is a family of
Las Vegas
Las Vegas, colloquially referred to as Vegas, is the most populous city in the U.S. state of Nevada and the county seat of Clark County. The Las Vegas Valley metropolitan area is the largest within the greater Mojave Desert, and second-l ...
-probabilistic methods all based on the observation that it is easier to guess enough error-free positions, than it is to guess all the error-positions.
The simplest form is due to Prange: Let
be the
generator matrix of
used for encoding. Select
columns of
at random, and denote by
the corresponding submatrix of
. With reasonable probability
will have full rank, which means that if we let
be the sub-vector for the corresponding positions of any codeword
of
for a message
, we can recover
as
. Hence, if we were lucky that these
positions of the received word
contained no errors, and hence equalled the positions of the sent codeword, then we may decode.
If
errors occurred, the probability of such a fortunate selection of columns is given by
.
This method has been improved in various ways, e.g. by Stern
and
Canteaut and Sendrier.
Partial response maximum likelihood
Partial response maximum likelihood (
PRML) is a method for converting the weak analog signal from the head of a magnetic disk or tape drive into a digital signal.
Viterbi decoder
A Viterbi decoder uses the Viterbi algorithm for decoding a bitstream that has been encoded using
forward error correction based on a convolutional code.
The
Hamming distance
In information theory, the Hamming distance between two String (computer science), strings or vectors of equal length is the number of positions at which the corresponding symbols are different. In other words, it measures the minimum number ...
is used as a metric for hard decision Viterbi decoders. The ''squared''
Euclidean distance
In mathematics, the Euclidean distance between two points in Euclidean space is the length of the line segment between them. It can be calculated from the Cartesian coordinates of the points using the Pythagorean theorem, and therefore is o ...
is used as a metric for soft decision decoders.
Optimal decision decoding algorithm (ODDA)
Optimal decision decoding algorithm (ODDA) for an asymmetric TWRC system.
See also
*
Don't care alarm
*
Error detection and correction
In information theory and coding theory with applications in computer science and telecommunications, error detection and correction (EDAC) or error control are techniques that enable reliable delivery of digital data over unreliable communi ...
*
Forbidden input
References
Further reading
*
*
* {{cite book , author-first=Jacobus H. , author-last=van Lint , title=Introduction to Coding Theory , edition=2 , publisher=
Springer-Verlag
Springer Science+Business Media, commonly known as Springer, is a German multinational publishing company of books, e-books and peer-reviewed journals in science, humanities, technical and medical (STM) publishing.
Originally founded in 1842 in ...
, series=
Graduate Texts in Mathematics
Graduate Texts in Mathematics (GTM) () is a series of graduate-level textbooks in mathematics published by Springer-Verlag. The books in this series, like the other Springer-Verlag mathematics series, are yellow books of a standard size (with va ...
(GTM) , volume=86 , date=1992 , isbn=978-3-540-54894-2 , url-access=registration , url=https://archive.org/details/introductiontoco0000lint
Coding theory