Block code

This is an old revision of this page, as edited by 59.161.12.140 (talk) at 19:38, 6 May 2007 (Information rate). The present address (URL) is a permanent link to this revision, which may differ significantly from the current revision.

In computer science, a block code is a type of channel coding. It adds redundancy to a message so that, at the receiver, one can decode with minimal (theoretically zero) errors, provided that the information rate (amount of transported information in bits per sec) would not exceed the channel capacity.

The main characterisation of a block code is that it is a fixed length channel code (unlike source coding schemes such as Huffman coding, and unlike channel coding methods like convolutional encoding). Typically, a block code takes a k-digit information word, and transforms this into an n-digit codeword.

Block coding was the primary type of channel coding used in earlier mobile communication systems.

Formal definition

A block code is a code which encodes strings formed from an alphabet set   into code words by encoding each letter of   separately. Let   be a sequence of natural numbers each less than  . If   and a particular word   is written as  , then the code word corresponding to  , namely  , is

 .

A[n,d]

The trade-off between efficiency (large informationrate) and correction capabilities can also be seen from the attempt to, given a fixed codeword length and a fixed correction capability (represented by the Hamming distance d) maximize the total amount of codewords. A[n,d] is the maximum number of codewords for a given codeword length n and Hamming distance d.

Information rate

When   is a binary block code, consisting of   codewords of length n bits, then the information rate of   is defined as

 .

When f.i. the first k bits of a codeword are independent information bits, then the information rate is

 .