finite and nonempty set and and are integers. The meaning and significance of these three parameters and other parameters related to the code are described below. The alphabet Σ The data stream to be encoded is modeled as a string over some alphabet . The size of the alphabet is often written as . If , then the block code is called a binary block code. In many applications it is useful to consider to be a prime power, and to identify with the finite field . The message length k Messages are elements of , that is, strings of length . Hence the number is called the message length or dimension of a block code. The block length n The block length of a block code is the number of symbols in a block. Hence, the elements of are strings of length and correspond to blocks that may be received by the receiver. Hence they are also called received words. If for some message , then is called the codeword of . The rate R The rate of a block code is defined as the ratio between its message length and its block length: . A large rate means that the amount of actual message per transmitted block is high. In this sense, the rate measures the transmission speed and the quantity measures the overhead that occurs due to the encoding with the block code. It is a simple information theoretical fact that the rate cannot exceed since data cannot in general be losslessly compressed. Formally, this follows from the fact that the code is an injective map. The distance d The distance or minimum distance of a block code is the minimum number of positions in which any two distinct codewords differ, and the relative distance is the fraction . Formally, for received words , let denote the Hamming distance between and , that is, the number of positions in which and differ. Then the minimum distance of the code is defined as . Since any code has to be injective, any two codewords will disagree in at least one position, so the distance of any code is at least . Besides, the distance equals the minimum weight for linear block codes because: . A larger distance allows for more error correction and detection. For example, if we only consider errors that may change symbols of the sent