Definition

A block code is a linear code if the codewords form a subspace of for some finite field

Definition

The Hamming weight of — denoted as — is the number of its non-zero components — provided is in a finite field (there has to exist the vector )

Could also be understood as the Hamming distance of and :

Theorem

The minimum distance of a linear code is the smallest weight of a codeword :

Generator Matrix

Definition

Let be a basis of a linear code over a finite field. Then the matrix that has as its -th row is the generator matrix of

Encoding

A matrix specifies an encoding map that sends an information vector.

Example

We can send the message with the generator matrix:

A generator matrix defines an encoding map codeword

Definition

A generator matrix is in systematic form if

These are matrices in reduced echelon form

When these matrices are in systematic form, we write the codewords as

Decoding

Decoding is deciding the information word from the channel output-

If the channel output is a codeword, then we assume that it equals the channel input

In this case, decoding is inverting the encoding map, which is easy when the generator matrix is in the systematic form.

The problem is knowing if is a codeword linear block code defined by system of homogeneous linear equations is a codeword > satisfies those equations

We have a parity-check matrix for a linear code, which is an matrix that has the coefficients of a system of a homogeneous linear equations that defines the code.

Theorem

If , with a matrix — which is a generator matrix of systematic form — of a linear block code, then

which is a parity-check matrix of the same code

Example

If we have the generator matrix

We therefore have the parity-check matrix defined as

Definition

With the parity-check matrix of a linear block code and

We have the syndrome of the vector

With, by definition

Theorem

With a parity-check matrix of a linear code, we have the minimum distance of the code the smallest positive integer , such that there are columns of which are independent

When we have a commutative group and a subgroup: if there exists such that

Example

For , and , we have and

We call the coset of , with respect to

All of them have the same cardinality as

Standard Array

The standard array is an array that has the elements of , starting with the code word , and each row forms a coset of — each element of shows up exactly once in the standard array.

We can use this to decode.

We have each column . We have

To find a codeword associated to , we could find in the standard array and read out the entry on top of the same column — but standard array are generally too large to store.

The first column describes the geometry of all decoding regions.

Claim

In the standard array, each element of a row has the same syndrome as the coset leader.

Claim

The syndrome uniquely identifies the coset leader

Hence, a coset decoder can be implemented as follows:

  1. We precompute and store the coset leaders and their corresponding syndrome
  2. To decode , we compute its syndrome
  3. encodes the row of
  4. We use the lookup table to determine the corresponding coset leader
  5. It and uniquely determine the column of , as
  6. Hence we have
  7. The decoder declares that the transmitted codeword is

To find the information word that corresponds to , we solve the linear system

If is in systematic form, then consists of the first components of

Choosing Coset Leaders

There are many ways to choose the coset leaders

In fact, we have that every element of every row could be chosen as the coset leader.

Theorem

In every row of the standard array:

Select the coset leader to be one of the minimum weight vectors in that row

Then the coset decoder is a minimum-distance decoder

Warning

This procedure requires to store coset leaders and the corresponding syndrome.

A lookup table of this size will not work in most cases

Error Probability

We have seen before that we can pretty much choose any coset we want.

Here, we will see how to pick an optimal coset, reducing the chance of decoding errors.

03.4 Reed Solomon Codes