Block Coding

You might also like

Download as pdf or txt
Download as pdf or txt
You are on page 1of 2

Block coding

This experiment examines the BLOCK CODE ENCODER and BLOCK CODE DECODER
modules. Block coding refers to the technique of adding extra bits to a digital word in order to
improve the reliability of transmission. The word consists of the message bits (often called
information, or data) plus code bits. It may also, as in the present case, contain a frame
synchronization bit. A block code adds bits to existing message bits, or blocks, independently of
adjacent blocks 1. In this experiment the blocks will be prepared by the PCM ENCODER
module. These blocks were examined in the experiment entitled PCM encoding

What is Block Coding?


The puzzle-piece metaphor (figure of Speech) is used in block-based programming to
provide visual indications to the user about how and where commands can be combined
and used. Youngsters as young as five years old can use block-based coding
environments, but most are targeted at children aged eight to sixteen. The environment
stops two instructions from snapping together if they cannot be linked to generate a valid
assertion.

In information theory, the Hamming distance between two strings of equal length is the number of
positions at which the corresponding symbols are different. In other words, it measures the minimum
number of substitutions required to change one string into the other, or the minimum number
of errors that could have transformed one string into the other. In a more general context, the
Hamming distance is one of several string metrics for measuring the edit distance between two
sequences. It is named after the American mathematician Richard Hamming.
A major application is in coding theory, more specifically to block codes, in which the equal-length
strings are vectors over a finite field.

Error detection and error correction[edit]


The minimum Hamming distance is used to define some essential notions in coding
theory, such as error detecting and error correcting codes. In particular, a code C is said to
be k error detecting if, and only if, the minimum Hamming distance between any two of its
codewords is at least k+1.[2]
For example, consider the code consisting of two codewords "000" and "111". The
hamming distance between these two words is 3, and therefore it is k=2 error detecting.
This means that if one bit is flipped or two bits are flipped, the error can be detected. If three
bits are flipped, then "000" becomes "111" and the error can not be detected.
Cyclic redundancy check
A cyclic redundancy check (CRC) is an error-detecting code commonly used in
digital networks and storage devices to detect accidental changes to digital data. Blocks of data
entering these systems get a short check value attached, based on the remainder of a polynomial
division of their contents. On retrieval, the calculation is repeated and, in the event the check
values do not match, corrective action can be taken against data corruption. CRCs can be used
for error correction (see bitfilters).[1]
CRCs are so called because the check (data verification) value is a redundancy (it expands the
message without adding information) and the algorithm is based on cyclic codes. CRCs are
popular because they are simple to implement in binary hardware, easy to analyze
mathematically, and particularly good at detecting common errors caused by noise in
transmission channels. Because the check value has a fixed length, the function that generates it
is occasionally used as a hash function.

You might also like