Katana VentraIP

Block code

In coding theory, block codes are a large and important family of error-correcting codes that encode data in blocks. There is a vast number of examples for block codes, many of which have a wide range of practical applications. The abstract definition of block codes is conceptually useful because it allows coding theorists, mathematicians, and computer scientists to study the limitations of all block codes in a unified way. Such limitations often take the form of bounds that relate different parameters of the block code to each other, such as its rate and its ability to detect and correct errors.

Examples of block codes are Reed–Solomon codes, Hamming codes, Hadamard codes, Expander codes, Golay codes, Reed–Muller codes and Polar codes. These examples also belong to the class of linear codes, and hence they are called linear block codes. More particularly, these codes are known as algebraic block codes, or cyclic block codes, because they can be generated using boolean polynomials.


Algebraic block codes are typically hard-decoded using algebraic decoders.


The term block code may also refer to any error-correcting code that acts on a block of bits of input data to produce bits of output data . Consequently, the block coder is a memoryless device. Under this definition codes such as turbo codes, terminated convolutional codes and other iteratively decodable codes (turbo-like codes) would also be considered block codes. A non-terminated convolutional encoder would be an example of a non-block (unframed) code, which has memory and is instead classified as a tree code.


This article deals with "algebraic block codes".

Examples[edit]

As mentioned above, there are a vast number of error-correcting codes that are actually block codes. The first error-correcting code was the Hamming(7,4) code, developed by Richard W. Hamming in 1950. This code transforms a message consisting of 4 bits into a codeword of 7 bits by adding 3 parity bits. Hence this code is a block code. It turns out that it is also a linear code and that it has distance 3. In the shorthand notation above, this means that the Hamming(7,4) code is a code.


Reed–Solomon codes are a family of codes with and being a prime power. Rank codes are family of codes with . Hadamard codes are a family of codes with and .

Katana VentraIP

$_$_$DEEZ_NUTS#0__titleDEEZ_NUTS$_$_$

$_$_$DEEZ_NUTS#0__subtitleDEEZ_NUTS$_$_$

$_$_$DEEZ_NUTS#0__call_to_action.textDEEZ_NUTS$_$_$

$_$_$DEEZ_NUTS#3__descriptionDEEZ_NUTS$_$_$

$_$_$DEEZ_NUTS#1__titleDEEZ_NUTS$_$_$

$_$_$DEEZ_NUTS#1__descriptionDEEZ_NUTS$_$_$

$_$_$DEEZ_NUTS#3__titleDEEZ_NUTS$_$_$

can detect errors : Because a codeword is the only codeword in the Hamming ball centered at itself with radius , no error pattern of or fewer errors could change one codeword to another. When the receiver detects that the received vector is not a codeword of , the errors are detected (but no guarantee to correct).

can correct errors. Because a codeword is the only codeword in the Hamming ball centered at itself with radius , the two Hamming balls centered at two different codewords respectively with both radius do not overlap with each other. Therefore, if we consider the error correction as finding the codeword closest to the received word , as long as the number of errors is no more than , there is only one codeword in the hamming ball centered at with radius , therefore all errors could be corrected.

In order to decode in the presence of more than errors, or maximum likelihood decoding can be used.

list-decoding

can correct . By erasure it means that the position of the erased symbol is known. Correcting could be achieved by -passing decoding : In passing the erased position is filled with the symbol and error correcting is carried out. There must be one passing that the number of errors is no more than and therefore the erasures could be corrected.

erasures

$_$_$DEEZ_NUTS#2__titleDEEZ_NUTS$_$_$

$_$_$DEEZ_NUTS#2__descriptionDEEZ_NUTS$_$_$

A codeword could be considered as a point in the -dimension space and the code is the subset of . A code has distance means that , there is no other codeword in the Hamming ball centered at with radius , which is defined as the collection of -dimension words whose Hamming distance to is no more than . Similarly, with (minimum) distance has the following properties:

Sphere packings and lattices[edit]

Block codes are tied to the sphere packing problem which has received some attention over the years. In two dimensions, it is easy to visualize. Take a bunch of pennies flat on the table and push them together. The result is a hexagon pattern like a bee's nest. But block codes rely on more dimensions which cannot easily be visualized. The powerful Golay code used in deep space communications uses 24 dimensions. If used as a binary code (which it usually is), the dimensions refer to the length of the codeword as defined above.


The theory of coding uses the N-dimensional sphere model. For example, how many pennies can be packed into a circle on a tabletop or in 3 dimensions, how many marbles can be packed into a globe. Other considerations enter the choice of a code. For example, hexagon packing into the constraint of a rectangular box will leave empty space at the corners. As the dimensions get larger, the percentage of empty space grows smaller. But at certain dimensions, the packing uses all the space and these codes are the so-called perfect codes. There are very few of these codes.


Another property is the number of neighbors a single codeword may have.[1] Again, consider pennies as an example. First we pack the pennies in a rectangular grid. Each penny will have 4 near neighbors (and 4 at the corners which are farther away). In a hexagon, each penny will have 6 near neighbors. Respectively, in three and four dimensions, the maximum packing is given by the 12-face and 24-cell with 12 and 24 neighbors, respectively. When we increase the dimensions, the number of near neighbors increases very rapidly. In general, the value is given by the kissing numbers.


The result is that the number of ways for noise to make the receiver choose a neighbor (hence an error) grows as well. This is a fundamental limitation of block codes, and indeed all codes. It may be harder to cause an error to a single neighbor, but the number of neighbors can be large enough so the total error probability actually suffers.[1]

$_$_$DEEZ_NUTS#5__heading--0DEEZ_NUTS$_$_$

$_$_$DEEZ_NUTS#5__description--0DEEZ_NUTS$_$_$

$_$_$DEEZ_NUTS#4__titleDEEZ_NUTS$_$_$

$_$_$DEEZ_NUTS#4__descriptionDEEZ_NUTS$_$_$

$_$_$DEEZ_NUTS#4__heading--0DEEZ_NUTS$_$_$

$_$_$DEEZ_NUTS#4__description--0DEEZ_NUTS$_$_$

$_$_$DEEZ_NUTS#4__heading--1DEEZ_NUTS$_$_$

$_$_$DEEZ_NUTS#4__description--1DEEZ_NUTS$_$_$

$_$_$DEEZ_NUTS#5__titleDEEZ_NUTS$_$_$

$_$_$DEEZ_NUTS#5__descriptionDEEZ_NUTS$_$_$

Channel capacity

Shannon–Hartley theorem

Noisy channel

[1]

List decoding

Sphere packing

(1992). Introduction to Coding Theory. GTM. Vol. 86 (2nd ed.). Springer-Verlag. p. 31. ISBN 3-540-54894-7.

J.H. van Lint

; N.J.A. Sloane (1977). The Theory of Error-Correcting Codes. North-Holland. p. 35. ISBN 0-444-85193-3.

F.J. MacWilliams

W. Huffman; (2003). Fundamentals of error-correcting codes. Cambridge University Press. ISBN 978-0-521-78280-7.

V.Pless

S. Lin; D. J. Jr. Costello (1983). Error Control Coding: Fundamentals and Applications. Prentice-Hall.  0-13-283796-X.

ISBN

Charan Langton (2001)

Coding Concepts and Block Coding

$_$_$DEEZ_NUTS#6__titleDEEZ_NUTS$_$_$

$_$_$DEEZ_NUTS#6__subtextDEEZ_NUTS$_$_$

$_$_$DEEZ_NUTS#6__quote--0DEEZ_NUTS$_$_$

$_$_$DEEZ_NUTS#6__name--0DEEZ_NUTS$_$_$

$_$_$DEEZ_NUTS#6__company_or_position--0DEEZ_NUTS$_$_$

$_$_$DEEZ_NUTS#6__quote--1DEEZ_NUTS$_$_$

$_$_$DEEZ_NUTS#6__name--1DEEZ_NUTS$_$_$

$_$_$DEEZ_NUTS#6__company_or_position--1DEEZ_NUTS$_$_$

$_$_$DEEZ_NUTS#6__quote--2DEEZ_NUTS$_$_$

$_$_$DEEZ_NUTS#6__name--2DEEZ_NUTS$_$_$

$_$_$DEEZ_NUTS#6__company_or_position--2DEEZ_NUTS$_$_$

$_$_$DEEZ_NUTS#6__quote--3DEEZ_NUTS$_$_$

$_$_$DEEZ_NUTS#6__name--3DEEZ_NUTS$_$_$

$_$_$DEEZ_NUTS#6__company_or_position--3DEEZ_NUTS$_$_$

$_$_$DEEZ_NUTS#6__quote--4DEEZ_NUTS$_$_$

$_$_$DEEZ_NUTS#6__name--4DEEZ_NUTS$_$_$

$_$_$DEEZ_NUTS#6__company_or_position--4DEEZ_NUTS$_$_$

$_$_$DEEZ_NUTS#8__titleDEEZ_NUTS$_$_$

$_$_$DEEZ_NUTS#8__subtextDEEZ_NUTS$_$_$

$_$_$DEEZ_NUTS#8__quote--0DEEZ_NUTS$_$_$

$_$_$DEEZ_NUTS#8__name--0DEEZ_NUTS$_$_$

$_$_$DEEZ_NUTS#8__company_or_position--0DEEZ_NUTS$_$_$

$_$_$DEEZ_NUTS#8__quote--1DEEZ_NUTS$_$_$

$_$_$DEEZ_NUTS#8__name--1DEEZ_NUTS$_$_$

$_$_$DEEZ_NUTS#8__company_or_position--1DEEZ_NUTS$_$_$

$_$_$DEEZ_NUTS#8__quote--2DEEZ_NUTS$_$_$

$_$_$DEEZ_NUTS#8__name--2DEEZ_NUTS$_$_$

$_$_$DEEZ_NUTS#8__company_or_position--2DEEZ_NUTS$_$_$

$_$_$DEEZ_NUTS#7__titleDEEZ_NUTS$_$_$

$_$_$DEEZ_NUTS#7__subtextDEEZ_NUTS$_$_$

$_$_$DEEZ_NUTS#7__quote--0DEEZ_NUTS$_$_$

$_$_$DEEZ_NUTS#7__name--0DEEZ_NUTS$_$_$

$_$_$DEEZ_NUTS#7__company_or_position--0DEEZ_NUTS$_$_$

$_$_$DEEZ_NUTS#7__quote--1DEEZ_NUTS$_$_$

$_$_$DEEZ_NUTS#7__name--1DEEZ_NUTS$_$_$

$_$_$DEEZ_NUTS#7__company_or_position--1DEEZ_NUTS$_$_$

$_$_$DEEZ_NUTS#7__quote--2DEEZ_NUTS$_$_$

$_$_$DEEZ_NUTS#7__name--2DEEZ_NUTS$_$_$

$_$_$DEEZ_NUTS#7__company_or_position--2DEEZ_NUTS$_$_$

$_$_$DEEZ_NUTS#7__quote--3DEEZ_NUTS$_$_$

$_$_$DEEZ_NUTS#7__name--3DEEZ_NUTS$_$_$

$_$_$DEEZ_NUTS#7__company_or_position--3DEEZ_NUTS$_$_$

$_$_$DEEZ_NUTS#7__quote--4DEEZ_NUTS$_$_$

$_$_$DEEZ_NUTS#7__name--4DEEZ_NUTS$_$_$

$_$_$DEEZ_NUTS#7__company_or_position--4DEEZ_NUTS$_$_$

$_$_$DEEZ_NUTS#7__quote--5DEEZ_NUTS$_$_$

$_$_$DEEZ_NUTS#7__name--5DEEZ_NUTS$_$_$

$_$_$DEEZ_NUTS#7__company_or_position--5DEEZ_NUTS$_$_$

$_$_$DEEZ_NUTS#7__quote--6DEEZ_NUTS$_$_$

$_$_$DEEZ_NUTS#7__name--6DEEZ_NUTS$_$_$

$_$_$DEEZ_NUTS#7__company_or_position--6DEEZ_NUTS$_$_$

$_$_$DEEZ_NUTS#7__quote--7DEEZ_NUTS$_$_$

$_$_$DEEZ_NUTS#7__name--7DEEZ_NUTS$_$_$

$_$_$DEEZ_NUTS#7__company_or_position--7DEEZ_NUTS$_$_$