Decoding methods

From Wikipedia, the free encyclopedia

(Redirected from Minimum distance decoding)
Jump to: navigation, search

This article discusses common methods in communication theory for decoding codewords sent over a noisy channel (such as a binary symmetric channel).

Contents

Henceforth C \subset \mathbb{F}_2^n shall be a (not necessarily linear) code of length n; x,y shall be elements of \mathbb{F}_2^n; and d(x,y) shall represent the Hamming distance between x,y.

Given a received codeword x \in \mathbb{F}_2^n, ideal observer decoding picks a codeword y \in C to maximise:

\mathbb{P}(y \mbox{ sent} \mid x \mbox{ received})

-the codeword (or a codeword) y \in C that is most likely to be received as x.

Where this decoding result is non-unique a convention must be agreed. Popular such conventions are:

  1. Request that the codeword be resent;
  2. Choose any one of the possible decodings at random.

Given a received codeword x \in \mathbb{F}_2^n maximum likelihood decoding picks a codeword y \in C to maximise:

\mathbb{P}(x \mbox{ received} \mid y \mbox{ sent})

-the codeword that was most likely to have been sent given that x was received. Note that if all codewords are equally likely to be sent during ordinary use, then this scheme is equivalent to ideal observer decoding:


\begin{align}
\mathbb{P}(x \mbox{ received} \mid y \mbox{ sent}) & {} = \frac{ \mathbb{P}(x \mbox{ received} , y \mbox{ sent}) }{\mathbb{P}(y \mbox{ sent} )} \\
& {} = \mathbb{P}(y \mbox{ sent} \mid x \mbox{ received}) \cdot \frac{\mathbb{P}(x \mbox{ received})}{\mathbb{P}(y \mbox{ sent})} \\
& {} = \mathbb{P}(y \mbox{ sent} \mid x \mbox{ received}).
\end{align}

As for ideal observer decoding, a convention must be agreed for non-unique decoding. Again, popular such conventions are:

  1. Request that the codeword be resent;
  2. Choose any one of the possible decodings at random.

Given a received codeword x \in \mathbb{F}_2^n, minimum distance decoding picks a codeword y \in C to minimise the Hamming distance :

d(x,y) = \# \{i : x_i \not = y_i \}

-the codeword (or a codeword) y \in C that is as close as possible to  x \in \mathbb{F}_2^n.

Notice that if the probability of error on a discrete memoryless channel p is strictly less than one half, then minimum distance decoding is equivalent to maximum likelihood decoding since if

d(x,y) = d,\,

then:


\begin{align}
\mathbb{P}(y \mbox{ received} \mid x \mbox{ sent}) & {} = (1-p)^{n-d}p^d \\
& {} = (1-p)^n \left( \frac{p}{1-p}\right)^d \\
\end{align}

which (since p is less than one half) is maximised by minimising d.

As for other decoding methods, a convention is agreed for non-unique decoding. Popular such conventions are:

  1. Request that the codeword be resent;
  2. Choose any one of the possible decodings at random.

Syndrome decoding is a highly efficient method of decoding a linear code over a noisy channel - ie one on which errors are made. In essence, syndrome decoding is minimum distance decoding using a reduced lookup table. It is the linearity of the code which allows for the lookup table to be reduced in size.

Suppose that C\subset \mathbb{F}_2^n is a linear code of length n and minimum distance d with parity-check matrix H. Then clearly C is capable of correcting up to

t = \left\lfloor\frac{d-1}{2}\right\rfloor

errors made by the channel (since if no more than t errors are made then minimum distance decoding will still correctly decode the incorrectly transmitted codeword).


Now suppose that a codeword x \in \mathbb{F}_2^n is sent over the channel and the error pattern e \in \mathbb{F}_2^n occurs. Then z = x + e is received. Ordinary minimum distance decoding would lookup the vector z in a table of size | C | for the nearest match - ie an element (not necessarily unique) c \in C with

d(c,z) \leq d(y,z)

for all y \in C. Syndrome decoding takes advantage of the property of the parity matrix that:

Hx = 0

for all x \in C. The syndrome of the received z = x + e is defined to be:

Hz = H(x + e) = Hx + He = 0 + He = He

Under the assumption that no more than t errors were made during transmission the receiver looks up the value He in a table of size


\begin{matrix}
\sum_{i=0}^t \binom{n}{i} < |C| \\
\end{matrix}

(for a binary code) against pre-computed values of He for all possible error patterns e \in \mathbb{F}_2^n. Knowing what e is, it is then trivial to decode x as:

x = ze

Notice that this will always give a unique (but not necessarily accurate) decoding result since

Hx = Hy

if and only if x = y. This is because the parity check matrix H is a generator matrix for the dual code C^\perp and hence is of full rank.

Advanced Search
Included Web Search Engines


Safe Search

close

Top Matching Results

Occasionally Search.com will highlight specialized results that are based on the context of your query. Examples of specialized results include specific links to news, images, or video.

Top Matching Results may highlight information from other Search.com pages, content from the CNET Network of sites, or third party content. The listings are based purely on relevance. Search.com does not receive payment for listings in this section but our partners that provide this data may get paid for listing these products.

Sponsored Links

This section contains paid listings which have been purchased by companies that want to have their sites appear for specific search terms and related content. These listings are administered, sorted and maintained by a third party and are not endorsed by Search.com.

Search Results

Search.com sends your search query to several search engines at one time and integrates the results into one list which has been sorted by relevance using Search.com's proprietary algorithm. You can customize the list of search engines included in your metasearch from the preferences.

The search engines that are used in your metasearch may allow companies to pay to have their Web sites included within the results. To view the Paid Inclusion policy for a specific search engine, please visit their Web site. Search.com does not accept payment or share revenue with any search engine partner for listings in this section.