Incoding theory,decoding is the process of translating received messages intocodewords of a givencode. There have been many common methods of mapping messages to codewords. These are often used to recover messages sent over anoisy channel, such as abinary symmetric channel.
is considered abinary code with the length; shall be elements of; and is the distance between those elements.
One may be given the message, thenideal 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.
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:
Given a received vectormaximum likelihood decoding picks a codeword thatmaximizes
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, byBayes' theorem,
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 whenis 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 aninteger programming problem.[1]
The maximum likelihood decoding algorithm is an instance of the "marginalize a product function" problem which is solved by applying thegeneralized distributive law.[2]
Given a received vector,minimum distance decoding picks a codeword to minimise theHamming distance:
i.e. choose the codeword that is as close as possible to.
Note that if the probability of error on adiscrete memoryless channel is strictly less than one half, thenminimum distance decoding is equivalent tomaximum likelihood decoding, since if
then:
which (sincep is less than one half) is maximised by minimisingd.
Minimum distance decoding is also known asnearest neighbour decoding. It can be assisted or automated by using astandard array. Minimum distance decoding is a reasonable decoding method when the following conditions are met:
These assumptions may be reasonable for transmissions over abinary symmetric channel. 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 is a highly efficient method of decoding alinear code over anoisy channel, i.e. one on which errors are made. In essence, syndrome decoding isminimum distance decoding using a reduced lookup table. This is allowed by the linearity of the code.[3]
Suppose that is a linear code of length and minimum distance withparity-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. Thesyndrome of the received is defined to be:
To performML decoding in abinary symmetric channel, one has to look-up a precomputed table of size, mapping to.
Note that this is already of significantly less complexity than that of astandard 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
This is a family ofLas Vegas-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[4] andCanteaut and Sendrier.[5]
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.
A Viterbi decoder uses the Viterbi algorithm for decoding a bitstream that has been encoded usingforward error correction based on a convolutional code.TheHamming distance is used as a metric for hard decision Viterbi decoders. ThesquaredEuclidean distance is used as a metric for soft decision decoders.
Optimal decision decoding algorithm (ODDA) for an asymmetric TWRC system.[clarification needed][6]