Chapter 3 Linear Block Codes

3.1 Basic Definitions

having symbols, where forms a field. with elements as an -vector or an -tuple.

Definition 3.1

An block code over an alphabet of symbols is a set of -vectors called codewords or code vectors. Associated with the code is an which maps a , a -tuple , to its associated codeword.

Definition 3.2

A block code over a field of symbols of length and codewords is a -ary linear code if and only if its codewords form a -dimensional vector subspace of the vector space of all the -tuples . The number is said to be the length of the code and the number is the dimension of the code. The rate of the code is .

Definition 3.3

The Hamming weight of a codeword is the number of nonzero components of the codeword. The minimum weight of a code is the smallest Hamming weight of any nonzero codeword: .

Theorem 3.4

For a linear code , the minimum distance satisfies . That is, the minimum distance of a linear block code is equal to the minimum weight of its nonzero codewords.

Proof:

Since there are only finite codewords, we can find 2 codewords that satisfies the , say they are .

So .

Let . Since is a linear code, .

.

On the other hand, given any ,

, so is a codeword with minimum weight.

We have found a codeword with minimum nonzero weight and its weight equals to the

3.2 The Generator Matrix Description of Linear Block Codes

Since is a dimensional subspace, we can find such that for .

where .

Think as row vectors and stack them together, we have

and let , we have .

Definition 3.6

Let be an block code (not necessarily linear). An encoder is systematic if the message symbols may be found explicitly and unchanged in the codeword. That is, there are coordinates (which are most frequently sequential, ) such that .

Frequently, a systematic generator is written in the form

where is the identity matrix and is a matrix which generates parity symbols. The encoding operation is

The codeword is divided into two parts: the part consists of the message symbols, and the part consists of the parity check symbols.

Definition 3.7

Two linear codes which are the same except for a permutation of the components of the code are said to be equivalent codes.

3.3 The Parity Check Matrix and Dual Codes

Definition 3.9

The dual space to an code of dimension is the dual code of , denoted by . A code such that is called a self-dual code.

Theorem 3.10

Let be an linear code over and let be a parity check matrix for . A vector is a codeword if and only if

That is, the codewords in lie in the (left) nullspace of .

Proof:

This problem is in fact same as the "Linear Algebra Done Right 4th Ed." exercise 3F.20, which states:

Suppose is finite-dimensional and is a subspace of . Show that

Theorem 3.13

Let a linear block code have a parity check matrix . The minimum distance of is equal to the smallest positive number of columns of which are linearly dependent. That is, all combinations of or fewer columns are linearly independent, so there is some set of columns which are linearly dependent.

Proof:

is an by matrix, and let be the ith column of , so

If is a codeword with , note that

3.3.1 Some Simple Bounds on Block Codes

Theorem 3.15

The Singleton bound. The minimum distance for an linear code is bounded by

Proof:

The row rank of is , so is the column rank. Which means any columns of must linear dependent. Then from theorem 3.13, we have .

Hammsphere

The vectors at Hamming distances away from a codeword form a β€œsphere” called the Hamming sphere of radius . The number of vectors in a Hamming sphere up to radius for a code of length over an alphabet of symbols is denoted , where

redundancy

The redundancy of a code is essentially the number of parity symbols in a codeword. More precisely we have

where is the number of codewords. For a linear code we have , so .

Theorem 3.17 (The Hamming Bound)

A -random error correcting -ary code must have redundancy satisfying

Proof:

Each of spheres in has radius . The spheres do not overlap, or else it would not be possible to decode errors. The total number of points enclosed by the spheres must be . We must have

from which the result follows by taking of both sides.

perfect code

A code satisfying the Hamming bound with equality is said to be a perfect code.