Introduction & Block Codes, Weight, and Distance#
ECFF
1992
Pretzel, Oliver. Error-Correcting Codes and Finite Fields. Oxford University Press Applied Mathematics and Computing Science Series.
The theory of error-correcting codes deals with the general problem of transmitting messages reliably. (Transmission in space (wires) and in time (storage).) In the classical theory no assumption is made about the nature of the message to be transmitted. Thus there is no statistic on which to base a guess of the correct message. Redundancy is built into the message at the transmitter so that the receiver can use that redundancy to correct errors. This goal can be achieved with high probability but not with certainty. A weakness of the classical theory is that errors that occur before the transmitter encodes and transmits the message cannot be corrected much less detected.
Strings#
Alphabet#
Binary Alphabet#
The Channel Model#
The situation to be modeled
Information is transmitted via a channel. The channel is prone to errors. The distorted information is processed at the receiving end to restore the original message as nearly as possible. Information is passed through the channel in separate lumps (discrete channel) or in a continuously varying form (continuous channel).
Examples of channels
Modulator (translates information into electrical signals), transmitter, receiver, demodulator: radio, television, satellite
Cable: computer file transfer
Storage medium + the means of storing and retrieving information from it (errors can occur either by a failure of the storage or reading device, or by deterioriation of the medium)
language
Coding for the binary symmetric channel#
We assume the discrete symmetric random error channel.
+--------------------------+
| |
| Random error generator |
| |
+--------------------------+
| +-----------+
| | | Message
+-----------+ | +-------------------+---------------->| Decoder |----------->
Message | | Signal v Distorted signal | | code word u' | | word x'
-------->| Encoder |--------------->|+|-------------------->| Error processor | +-----------+
word x | | code word u received word v | |
+-----------+ +-------------------+----------------------------------------->
v + error signal
How to assess the performance of a code over a given channel? The basis for this assessment is the Hamming distance which is the number of places in which two words differ.
The worst-case error-processing performance of a code is determined by the minimum distance between code words. Then some elementary probability theory can be used to assess the performance of a code.
Block Codes#
+--------------------------+
| |
| Random error generator |
| |
+--------------------------+
| +-----------+
| | | Message
+----------------+ +-----------+ | +-------------------+---------------->| Decoder |----------->
Message | | Message | | Signal v Distorted signal | | code words u' | | words x'
---------->| Preprocessor |---------->| Encoder |--------------->|+|-------------------->| Error processor | +-----------+
string | | words x | | code words u received words v | |
+----------------+ +-----------+ +-------------------+----------------------------------------->
v + error signal
Definition: block#
Definition: block code#
Definition: encoder#
Definition: decoder#
In a binary symmetric channel the error-processing capabilities of the coding system do not depend on the encoder and decoder but only on the set of code words because these are all that the channel sees; the choice of encoder and decoder is thus only a matter of practical convenience.
Most of coding theory is concerned with (1) the construction of codes \(C\) and (2) efficient error processors.
Definition: received word#
Definition: error of weight \(k\)#
Definition: Hamming distance and weight#
Definition: distance function#
Definition: error processor (and error detector)#
Definition: minimum distance of a code#
Claim: condition for error detection#
Claim: condition for error correction#
The minimum distance \(d(C)\) determines the worst-case error-detecting and -correcting capabilities of code \(C\).
Claim: condition for simultaneous error detection and correction#
Shannon’s Theorem#
the theoretical optimum for average coding performance