Function File: reedmullerdec (VV, G, R, M)

Decode the received code word VV using the RM-generator matrix G, of order R, M, returning the code-word C. We use the standard majority logic vote method due to Irving S. Reed. The received word has to be a matrix of column size equal to to code-word size (i.e 2^m). Each row is treated as a separate received word.

The second return value is the message M got from C.

G is obtained from definition type construction of Reed-Muller code, of order R, length 2^M. Use the function reedmullergen, for the generator matrix for the (R,M) order RM code.

Faster code constructions (also easier) exist, but since finding permutation order of the basis vectors, is important, we stick with the standard definitions. To use decoder function reedmullerdec, you need to use this specific generator function.

see: Lin & Costello, Ch.4, "Error Control Coding", 2nd Ed, Pearson.

g = reedmullergen (2, 4);
msg = rand (1, 11) > 0.5;
c = mod (msg * g, 2);
[dec_c, dec_m] = reedmullerdec (c, g, 2, 4)

See also: reedmullergen, reedmullerenc.

Package: communications