You are on page 1of 3

1

Cdigos de Reed-Mller

1.1

Introduccin

Los cdigos de Reed-Mller conforman una familia de cdigos lineales que permitien su decodificacin por lgica
mayoritaria. Vienen determinados por dos parmetros a y b donde a b. A partir de stos parmetros, se pueden
obtener los siguientes valores del cdigo:
2a

n =
b

a
i
i=0
ab

A modo de ejemplo, presentamos una tabla para a = 3, 4, 5


a
3
3
4
4
4
5
5
5
5

1.2

b
1
2
1
2
3
1
2
3
4

n
8
8
16
16
16
32
32
32
32

k c
4 4 1
7 2 0
5 8 3
11 4 1
15 2 0
6 16 7
16 8 3
26 4 1
31 2 0

Matriz Generadora

Para construir la matriz generadora son necesarios a + 1 vectores binarios de 2a componentes donde b 0 es el vector
todo unos y el resto de vectores forman una matriz cuyas columnas forman todas las 2a posibles combinaciones.
Esta matriz sera la correspondiente a b = 1. Si b = 2 la matriz debe extenderse con todos los productos binarios
de dos de los vectores anteriores. Si b = 3 la matriz debe extenderse con todos los productos binarios de tres de
los vectores anteriores. El siguiente ejemplo aclara estos conceptos.
EJEMPLO de base de codificacin Reed-Mller de parmetro a = 4

b0

b4

b3

b2

b1

=
=
=
=
=

(1111111111111111)
(0000000011111111)
(0000111100001111)
(0011001100110011)
(0101010101010101)


b4b3


b4b2


b4b1


b3b2


b3b1


b2b1

=
=
=
=
=
=

(0000000000001111)
(0000000000110011)
(0000000001010101)
(0000001100000011)
(0000010100000101)
(0001000100010001)


b4b3b2


b4b3b1


b4b2b1


b4b2b1

=
=
=
=

(0000000000000011)
(0000000000000101)
(0000000000010001)
(0000000100000001)


b4b3b2b1

= (0000000000000001)

EJEMPLO prctico para el caso a = 4, b = 2 = n = 16, k = 11, = 4, c = 1


Vector a codificar:

u = (u0 , u4 , u3 , u2 , u1 , u43 , u42 , u41 , u32 , u31 , u21 )

Vector codificado:

v = uG = (v0 , v1 , v2 , v3 , v4 , v5 , v6 , v7 , v8 , v9 , v10 , v11 , v12 , v13 , v14 , v15 )


donde

G=

1111111111111111
0000000011111111
0000111100001111
0011001100110011
0101010101010101
0000000000001111
0000000000110011
0000000001010101
0000001100000011
0000010100000101
0001000100010001

Si no hubiera errores, a la entrada del decodificador tendramos:


v0
v1
v2
v3
v4
v5
v6
v7
v8
v9
v10
v11
v12
v13
v14
v15

=
=
=
=
=
=
=
=
=
=
=
=
=
=
=
=

u0
u0 + u1
u0 + u2
u0 + u2 + u1 + u21
u0 + u3
u0 + u3 + u1 + u31
u0 + u3 + u2 + u32
u0 + u3 + u2 + u1 + u32 + u31 + u21
u0 + u4
u0 + u4 + u1 + u41
u0 + u4 + u2 + u42
u0 + u4 + u2 + u1 + u42 + u41 + u21
u0 + u4 + u3 + u43
u0 + u4 + u3 + u1 + u43 + u41 + u31
u0 + u4 + u3 + u2 + u43 + u42 + u32
u0 + u4 + u3 + u2 + u1 + u43 + u42 + u41 + u32 + u31 + u21

De estas expresiones, despejando u21 , u31 , u32 , u41 , u42 y u43 , se obtiene:
u21

u31

u31

u41

u42

u43

=
=
=
=
=
=
=
=
=
=
=
=
=
=
=
=
=
=
=
=
=
=
=
=

v0 + v1 + v2 + v3
v4 + v5 + v6 + v7
v8 + v9 + v10 + v11
v12 + v13 + v14 + v15
v0 + v1 + v4 + v5
v2 + v3 + v6 + v7
v8 + v9 + v12 + v13
v10 + v11 + v14 + v15
v0 + v2 + v4 + v6
v1 + v3 + v5 + v7
v8 + v9 + v12 + v13
v10 + v11 + v14 + v15
v0 + v1 + v8 + v9
v2 + v3 + v10 + v11
v4 + v5 + v12 + v13
v6 + v7 + v14 + v15
v0 + v2 + v8 + v10
v1 + v3 + v9 + v11
v4 + v6 + v12 + v14
v5 + v7 + v13 + v15
v0 + v4 + v8 + v12
v1 + v5 + v9 + v13
v2 + v6 + v10 + v14
v3 + v7 + v11 + v15

Si no hubiera errores cada una de las cuatro ecuaciones que definen el valor de u21 , u31 , u32 , u41 , u42 y u43 ,
daran el mismo resultado. Si existiera algn error, se tomara el valor mayoritario.

Para encontrar u1 , u2 , u3 , y u4 , es conveniente realizar la siguiente operacin:

v = v(u43 b 4 b 3 + u42 b 4 b 2 + u41 b 4 b 1 + u32 b 3 b 2 + u31 b 3 b 1 + u21 b 2 b 1 )


con ello se puede escribir
v0
v1
v2
v3
v4
v5
v6
v7
v8
v9
v10
v11
v12
v13
v14
v15

=
=
=
=
=
=
=
=
=
=
=
=
=
=
=
=

u0
u0 + u1
u0 + u2
u0 + u2 + u1
u0 + u3
u0 + u3 + u1
u0 + u3 + u2
u0 + u3 + u2 + u1
u0 + u4
u0 + u4 + u1
u0 + u4 + u2
u0 + u4 + u2 + u1
u0 + u4 + u3
u0 + u4 + u3 + u1
u0 + u4 + u3 + u2
u0 + u4 + u3 + u2 + u1

De estas expresiones, despejando u1 , u2 , u3 y u4 , se obtiene:


u1
u2
u3
u4

= v0 + v1
= v4 + v5
= v0 + v2
= v4 + v6
= v0 + v4
= v2 + v6
= v0 + v8
= v2 + v10

= v8 + v9
= v12 + v13
= v7 + v10
= v12 + v14
= v8 + v12
= v10 + v14
= v4 + v12
= v6 + v14

= v2 + v3
= v6 + v7
= v1 + v3
= v5 + v7
= v1 + v5
= v3 + v7
= v1 + v9
= v3 + v11

=
=
=
=
=
=
=
=

v10 + v11
v14 + v15
v9 + v11
v13 + v15
v9 + v13
v11 + v15
v5 + v13
v7 + v15

Nuevamente se tormar el resultado mayoritario para u1 , u2 , u3 y u4 . Por ltimo podemos encontrar el valor
de u1

v = v (u4 b 4 + u3 b 3 + u2 b 2 + u1 b 1 ) = u0 b 0

You might also like