Vous êtes sur la page 1sur 32

2S 2009 I. Zamora UniVII-Conf20: Det Cds Linls.

Gen
Cds Ccl.
1
Comunicaciones II











Conferencia 20: Deteccin en Cdigos Lineales de Bloque.
Generacin de Cdigos Cclicos.
UNIDAD VII: CODIFICACIN DE CANAL

Instructor: Israel M. Zamora, MS Telecommunications Management
Profesor Titular, Departamento de Sistemas Digitales y Telecomunicaciones.
Universidad Nacional de Ingeniera
Universidad Nacional de Ingeniera
2S 2009 I. Zamora UniVII-Conf20: Det Cds Linls. Gen
Cds Ccl.
2
Outline
Deteccin de errores
Ejemplo 2
Decodificacin del sndrome
Ejemplo Ilustrativo 3 Decodificacin de canal
Ejemplo Ilustrativo 4
Cdigos Cclicos
Cdigos Cclicos: Generacin
Ejemplo

2S 2009 I. Zamora UniVII-Conf20: Det Cds Linls. Gen
Cds Ccl.
3
Deteccin de errores
La deteccin o verificacin de errores se obtiene de un proceso
matricial basado en una nueva matriz H denominada matriz de
verificacin de paridad.

El objetivo es identificar el vector sndrome s. Si el sndrome resulta
en el vector nulo, entonces el vector de cdigo recibido no presenta
error, de otra forma existe uno o mas bits alterados.
Matriz
Generadora
G
Vector mensaje m
Vector cdigo c
Matriz
Verificacin
de paridad
H
Vector cdigo r
Vector sndrome
GENERACIN
DETECCIN
El ruido y otros efectos alteran la palabra de cdigo c
resultando en la palabra de cdigo r en el receptor.
0 OK!!!
= 0 ERROR!!! s
2S 2009 I. Zamora UniVII-Conf20: Det Cds Linls. Gen
Cds Ccl.
4
Para cualquier cdigo lineal podemos encontrar una matriz tal
que sus filas son ortogonales a las filas de :


H es denominada la matriz de verificacin de paridad y sus filas son
linealmente independientes.
Para cdigos lineals de bloque sistemticos tenemos:
0 GH =
T
Deteccin de errores
n k n ) (
H
] [
T
k n
P I H

=
G
Formateo
Codificacin
de canal
Modulacin
Decodificacin
de canal
Formateo
Demodulacin
Deteccin
Fuente de
datos
Sumidero
de datos
c
r
m
m

canal
error de vector o patrn ) ,...., , , (
recibido vector o cdigo de palabra ) ,...., , , (
3 2 1
3 2 1
n
n
e e e e
r r r r
=
=
e
r
2S 2009 I. Zamora UniVII-Conf20: Det Cds Linls. Gen
Cds Ccl.
5
Deteccin de error
Consideremos que el vector cdigo c se transmite en un medio que lo altera de
modo que el receptor recibe el vector r resultante del efecto del vector de error
e provocado por el medio tal que:
e c r =
El vector e se denomina vector de error o patrn de error. El i-simo elemento
de e es igual a 0 si el elemento correspondiente de r es el mismo que el de c.
Por otra parte, i-simo elemento de e es igual a 1 si el elemento
correspondiente de r es diferente del de c, en cuyo caso se dice que ha
ocurrido un error en la i-sima posicin. Es decir, para i=1,2,...,n, tenemos:
n
e e e e =
2 1

=
or ingn err o existe n si n
a in i-sim n la posic un error e ocurrido si ha
e
i
0
1
El sndrome se obtiene de la expresin:
Con H
T
la matriz transpuesta de la matriz de verificacin H.

T T
eH rH s = =
2S 2009 I. Zamora UniVII-Conf20: Det Cds Linls. Gen
Cds Ccl.
6
Deteccin de errores
Propiedad 1: Los sndromes dependen slo del patrn de error, y no de la
palabra de cdigo transmitida.
( )
T T T T T
eH eH cH H e c rH s = = = =
..., , , , i c e e
k
i i
2 , 3 2 1 = =
Propiedad 2: Todos los patrones de error que difieren por una palabra de
cdigo tienen el mismo sndrome.
Para k bits de mensaje, hay M
e
=2
k
vectores de cdigos distintos denotados
como c
i
, i=1,2,...,2
k
. De manera correspondiente, para cualquier patrn de
errores e, definimos los 2
k
distintos e
i
como:

| |
T
k n
P I H

=
La matriz de Verificacin de Paridad H se obtiene de la matriz de Paridad P y
la matriz de identidad I segn lo indicado.
2S 2009 I. Zamora UniVII-Conf20: Det Cds Linls. Gen
Cds Ccl.
7
Deteccin de errores
El conjunto de vectores {e
i
, i=1, 2,...,2
k
} se denomina un coconjunto del
cdigo. En otras palabras, un coconjunto tiene exactamente M
e
=2
k
elementos
que difieren a lo mas por un vector de cdigo. De esa manera, un cdigo de
bloques lineal (n,k) tiene 2
n-k
posibles coconjuntos. En cualquier caso, se
puede observar que:
( )
T T
i
T T
i
T
i
eH H c eH H c e H e = = =
Que es independiente del ndice i. Por lo tanto, es posible enunciar que cada
coconjunto del cdigo est caracterizado por un sndrome nico.
2S 2009 I. Zamora UniVII-Conf20: Det Cds Linls. Gen
Cds Ccl.
8
Ejemplo 2
| |

=
=

1 1 1 0 1 0 0
0 1 1 1 0 1 0
1 1 0 1 0 0 1
H
P I H
T
k n
Del ejemplo 1 anterior la matriz H est definida como:
Cuya matriz transpuesta es H
T
:

=
1 0 1
1 1 1
1 1 0
0 1 1
1 0 0
0 1 0
0 0 1
T
H
2S 2009 I. Zamora UniVII-Conf20: Det Cds Linls. Gen
Cds Ccl.
9
Ejemplo 2
Asumiendo que el vector cdigo enviado 1110010 por el transmisor es
alterado de modo que el receptor recibe el vector 1100010, calcularemos el
sndrome:
| |
| | 1 0 0
1 0 1
1 1 1
1 1 0
0 1 1
1 0 0
0 1 0
0 0 1
0 1 0 0 0 1 1
=

= =
s
rH s
T
Un sndrome s distinto del vector nulo [0 0 0] indica la presencia de error en el
cdigo recibido.
Indica la presencia de error
2S 2009 I. Zamora UniVII-Conf20: Det Cds Linls. Gen
Cds Ccl.
10
Decodificacin del sndrome
El receptor tiene la tarea de dividir los 2
n
vectores recibidos posibles en
M
e
=2
k
subconjuntos disjuntos D
1
, D
2
,...,D
M
, de tal forma que i-simo
subconjunto D
i
corresponda al vector de cdigo c
i
para 1 s i s M
e
.

El vector recibido r se decodifica en c
i
si ste se encuentra en el i-simo
subconjunto. Para que la decodificacin sea correcta, r debe estar en el
subconjunto que pertenece al vector de cdigo c
i
que realmente fue enviado.

Los M
e
=2
k
subconjuntos descritos aqu constituyen un arreglo estndar del
cdigo de bloque lineal.

Un arreglo estndar es un arreglo 2
n-k
x 2
k
cuyos elementos son secuencias
binarias de longitud n.
2S 2009 I. Zamora UniVII-Conf20: Det Cds Linls. Gen
Cds Ccl.
11
Decodificacin del sndrome
Para generar el arreglo estndar se procede de la siguiente manera:

1. Todos los 2
k
vectores o palabras de cdigo se colocan en una fila o rengln
iniciando por la palabra de cdigo componentes todos cero al extremo izquierdo
el cual nombramos c
1
. Esta constituye la primera fila.

2. Para la segunda fila o rengln se busca entre todas las secuencias binarias de
longitud n que no estn presentes en la primera fila del arreglo. Escojamos una
de estas palabras de cdigo que tenga el menor peso y nombrmosla e
1
.
Escribmoslo debajo de c
1
y escribamos e
i
c
i
debajo de cada c
i
para 2s i s M.
Es importante que el patrn de errores elegidos como primer elemento en una
fila o rengln no haya aparecido previamente en el arreglo estndar.

3. La tercera fila del arreglo se completa de forma similar. De las tupletas-n que no
han sido usados en las primeras dos filas, los elementos de la tercera fila se
vuelven c
i
e
2
. Este proceso se sigue hasta que no quede ninguna tupleta-n
para comenzar una nueva fila.
2S 2009 I. Zamora UniVII-Conf20: Det Cds Linls. Gen
Cds Ccl.
12
Decodificacin del sndrome
k -k n -k n -k n -k n -k n
k
k
k
2 2
i
2
3
2
2
2 2
M j i j 3 j 2 j j
2
3 i 3 3 3 2 3 3
2
2 i 2 3 2 2 2 2
2
i 3 2 1
c e c e c e c e e

c e c e c e c e e

c e c e c e c e e
c e c e c e c e e
c c c c 0 c




=







Representacin esquemtica de un arreglo estndar.
Cada fila o rengln del arreglo estndar se llama coconjunto y el primer
elemento de cada coconjunto (e
i
en general) se llama lder o gua del
coconjunto.
Coconjunto lder
C
o
c
o
n
j
u
n
t
o

2S 2009 I. Zamora UniVII-Conf20: Det Cds Linls. Gen
Cds Ccl.
13
Decodificacin del sndrome
Visto lo anterior, es posible describir el procedimiento de
decodificacin para un cdigo de bloques lineal:

1. Para un vector o palabra de cdigo recibido r, calculamos el sndrome
.
2. Dentro del coconjunto caracterizado por el sndrome s, indentificamos
el lder o gua del coconjunto (es decir, el patrn de errores con la
probabilidad de ocurrencia ms alta o patrn de error estimado, );
llmelo.

3. Calculamos el vector o palabra de cdigo estimado como:

e r c =
Este procedimiento recibe el nombre de decodificacin del sndrome.

Note nuevamente que:
T
H e

s =
c

T
rH s =
) e (e c e e) (c e r c

+ + = + + = + =
e e =

e e =

Note que:
Si, , el error es corregido.
Si, , ocurre un error de decodificacin NO DETECTABLE!!!.
PARA LA CONSTRUCCIN DE LA TABLA
DE SNDROMES D ERRORES CORREGIBLES
2S 2009 I. Zamora UniVII-Conf20: Det Cds Linls. Gen
Cds Ccl.
14
Ejemplo Ilustrativo 3: Decodificacin de canal

=
1 0 0 0 1 0 1
0 1 0 0 1 1 1
0 0 1 0 1 1 0
0 0 0 1 0 1 1
G
Del ejemplo 2 y tomando la matriz generadora mostrada abajo se obtiene
el conjunto de vectores de cdigos (7,4,3) que se resumen en la
diapositiva siguiente.
2S 2009 I. Zamora UniVII-Conf20: Det Cds Linls. Gen
Cds Ccl.
15
Ejemplo Ilustrativo 3: Decodificacin de canal
Palabra
mensaje
Palabra Cdigo
Peso de
palabra
de cdigo
Palabra
mensaje
Palabra Cdigo
Peso de
palabra
de cdigo
0000 0000000 0 1000 1101000 3
0001 1010001 3 1001 0111001 4
0010 1110010 4 1010 0011010 3
0011 0100011 3 1011 1001011 4
0100 0110100 3 1100 1011100 4
0101 1100101 4 1101 0001101 3
0110 1000110 3 1110 0101110 4
0111 0010111 4 1111 1111111 7
Conjunto de vectores de cdigos (7,4,3) para el ejemplo 3.
2S 2009 I. Zamora UniVII-Conf20: Det Cds Linls. Gen
Cds Ccl.
16
Ejemplo Ilustrativo 3: Decodificacin de canal
Sindrome Patrn de error
000 0000000
100 1000000
010 0100000
001 0010000
110 0001000
011 0000100
111 0000010
101 0000001
Mapeo de los 2
n-k
=2
p
= 2
7-4
= 2
3
= 8 sndromes. Puede demostrarse que la
distancia mnima de Hamming es 3 y que el sistema es capaz de corregir
1 error.
2S 2009 I. Zamora UniVII-Conf20: Det Cds Linls. Gen
Cds Ccl.
17
Ejemplo Ilustrativo 4
Consideramos el caso en el cual se transmita el cdigo 1110010 y que
debido a perturbaciones del canal el receptor reciba el vector cdigo
1100010, cuyo sndrome era s=(001).

En este caso, de la tabla que mapea los sndromes y los posibles patrones
de errores encontramos que el receptor estima que el patrn de error
cometido corresponde a e=(0010000).

Por tanto, la correccin resulta de sumar dicho patrn de error al vector de
cdigo recibido r:
) ( c
) ( ) ( c
e r c
0010 1 11
0010000 1100010

=
=
=
Bit corregido
2S 2009 I. Zamora UniVII-Conf20: Det Cds Linls. Gen
Cds Ccl.
18
Ejemplo de arreglo de palabras de cdigo (6,3)
010110 100101 010001
010100 100000
100100 010000
111100 001000
000110 110111 011010 101101 101010 011100 110011 000100
000101 110001 011111 101011 101100 011000 110111 000010
000110 110010 011100 101000 101111 011011 110101 000001
000111 110011 011101 101001 101110 011010 110100 000000


Coconjunto lderes
Conconjuntos
Palabras de cdigos
2S 2009 I. Zamora UniVII-Conf20: Det Cds Linls. Gen
Cds Ccl.
19
Ejemplo de arreglo de palabras de cdigo (6,3)
111 010001
100 100000
010 010000
001 001000
110 000100
011 000010
101 000001
000 000000
(101110) (100000) (001110)

estima se vector del corregida versin La
(100000)

es sndrome este a iente correspond error de Patrn


(100) (001110)
: calcula se de sndrome El
recibido. (001110)
ido. transmit (101110)
= + = + =
=
= = =
=
=
e r
e
H rH
r
r
c
s
c
T T
Partrn de error Sndrome
2S 2009 I. Zamora UniVII-Conf20: Det Cds Linls. Gen
Cds Ccl.
20
Si el cdigo es pequeo, por ejemplo (6,3) el decodificador se puede
implementar con circuitera bsica. De otra manera se requiere de
programacin e implementacin en hardware.

El decodificador depender de la ecuacin booleana que resulta de
proceso de determinacin del sndrome o deteccin, y luego el proceso de
correccin. Es decir, es fundamental la matriz de verificacin de paridad H.

Como ejemplo ilustrativo, tomemos como vlida la siguiente matriz de
verificacin de paridad, dada por:
Implementacin del Decodificador

=
1 0 1
1 1 0
0 1 1
1 0 0
0 1 0
0 0 1
T
H
| |

= =
1 0 1
1 1 0
0 1 1
1 0 0
0 1 0
0 0 1
6 5 4 3 2 1
r r r r r r
T
rH s
5 5 3 3
5 4 2 2
6 4 1 1
r r r s
r r r s
r r r s
+ + =
+ + =
+ + =
2S 2009 I. Zamora UniVII-Conf20: Det Cds Linls. Gen
Cds Ccl.
21
Implementacin del Decodificador (6,3)
2S 2009 I. Zamora UniVII-Conf20: Det Cds Linls. Gen
Cds Ccl.
22
Cdigos Cclicos
Cdigos cclicos son una subclase de cdigos lineales de
bloque.
Es un sistema de codificacin ms fcil que la mayora de los
dems.
La codificacin y el clculo del sndrome son facilmente
realizables usando registros de desplazamiento retroalimentado.
Cdigos de bloque relativamente largos pueden ser implementados con una
complejidad razonable.
Los cdigos BCH y Reed-Solomon son cdigos cclicos.

Caractersticas del cdigo cclico:
Propiedad de linealidad
La suma de cualquier par de palabras de cdigos del cdigo es siempre otra
palabra de cdigo
Propiedad cclica
Cualquier desplazamiento en una palabra de cdigo origina otra palabra de
cdigo
2S 2009 I. Zamora UniVII-Conf20: Det Cds Linls. Gen
Cds Ccl.
23
Cdigos Cclicos
Un cdigo lineal (n,k) se denomina cclico si todos los
desplazamientos cclicos de una palabra de cdigo,
son tambin una palabra de cdigo.







Ejemplo:

{ } 0 1
) ,..., , , , ,..., , (
) ,..., , , (
1 2 1 0 1 1
) (
1 2 1 0
, donde c
c c c c c c c
c c c c
i
i n n i n i n
i
n
e
=
=
+

c
c
i desplazamientos cclicos de c
c c c c c
c
= = = = =
=
) 1101 ( ) 1011 ( ) 0111 ( ) 1110 (
) 1101 (
) 4 ( ) 3 ( ) 2 ( ) 1 (
2S 2009 I. Zamora UniVII-Conf20: Det Cds Linls. Gen
Cds Ccl.
24
Cdigos Cclicos
La estructura algebraica de un cdigo cclico (n,k) , implica
que es necesario exprear las palabras de cdigos en forma
polinomial coeficientes binarios de orden (n-1).



La relacin entre una palabra de cdigo y sus desplazamientos
cclicos:







) 1 ( grado ... ) (
1
1
2
2 1 0
n- x c x c x c c x
n
n

+ + + + = C
) 1 ( ) (
...
..., ) (
1
) 1 (
) 1 (
1 1
) (
1
2
2
1 0 1
1
1
2
2
1 0
1
) 1 (
+ + =
+ + + + + + =
+ + + =

n
n
x c
n
n
n
x
n
n n
n
n
n
n
x c x
c x c x c x c x c c
x c x c x c x c x x
n
n
C
C
C

) 1 ( modulo ) ( ) (
) (
+ =
n i i
x x x x C C
Por extensin
) 1 ( modulo ) ( ) (
) 1 (
+ =
n
x x x x C C
De all que:
2S 2009 I. Zamora UniVII-Conf20: Det Cds Linls. Gen
Cds Ccl.
25
Cdigos Cclicos: Generacin
Dentro del conjunto de cdigos polinomiales en C, hay un nico
polinomio G(x) con mnimo grado llamado polinomio generador.
En general, G(x) puede expandirse del modo siguiente:
n r <

+ + =
1
1
1
k n
i
k n i
i
x x g (x) G
Cada cdigo polinomial en C(x) puede expresarse unvocamente
como:
) ( ) ( x x (x) G M C =
El polinomio generador G(x) es un polinomio de grado r=n-k el cual es un
factor de (x
n
+ 1), de tal modo que el polinomio G(X) es el polinomio de
menor grado en el cdigo.
r
r
x g x g g x + + + = ... ) (
1 0
G
O bien, puede
expresarse como:
{ } 0 1, g
i
e
2S 2009 I. Zamora UniVII-Conf20: Det Cds Linls. Gen
Cds Ccl.
26
Cdigos Cclicos: Generacin
{ } 0 1
1 2 1 0
1
1
2
2 1 0
, m donde ) ,m ,...,m ,m (m m si
x m x m ... x m m (x)
i k- k-
k
k
k
k
e =
+ + + + =

M
El mensaje tambin se expresa como polinomio con coeficientes
binarios de orden (k-1).
La palabra de cdigo depende del mensaje M(x), y del residuo
Res(x) vinculado al polinomio generador G(x).
(x) (x) x (x)
k - n
Res M C + =
2 mod en divisin
(x)
(x)
(x)
(x)
(x) x
n-k
G
Res
Q
G
M
+ =
Relacin del residuo con el polinomio Generador G(x)
Q(x) es el cociente algebraico.
2S 2009 I. Zamora UniVII-Conf20: Det Cds Linls. Gen
Cds Ccl.
27
Cdigos Cclicos: Generacin

+ + =
1
1
1
k n
i
k n i
i
x x g (x) G
Flip Flop
FF
E
Sumadores
Mdulo 2
Codificador de un modo cclico (n,k)
Bits del mensaje
g
1

g
2
g
n-k-1

E
FF FF FF
FF FF E E
E
Bits de Paridad
Palabra
de
Cdigo
. . .
. . .
Compuerta
k n
k n
x g x g g x

+ + + = ... ) (
1 0
G
2S 2009 I. Zamora UniVII-Conf20: Det Cds Linls. Gen
Cds Ccl.
28
Cdigos Cclicos: Generacin
En un cdigo cclico sistemtico (n,k) los bits de mensaje se
transmiten en forma inalterada.
Los cdigos de bloque sistematicos satisfacen la condicin que
los primeros p (=n-k) bits de la izquierda (o los ltimos de la
derecha) son idnticos a los correspondientes bits de paridad.
Los ltimos k bits de la derecha (o de la izquierda) son idnticos a
los bits de mensaje, siendo como indica la siguiente estructura
para una palabra de cdigo:
p
0
,p
1
,...,p
n-k-1
, m
0
,m
1
,...,m
k-1
n-k bits de paridad k bits de mensaje
CDIGOS CCLICOS SISTEMTICOS
2S 2009 I. Zamora UniVII-Conf20: Det Cds Linls. Gen
Cds Ccl.
29
Ejemplo generacin de cdigo (1/2)
Encuentre la palabra cdigo para el mensaje (bits de
datos) M=1110. Se usa cdigo cclico (7,4) y un
polinomio generador G(x)=1+x+x
3

Solucin:
: as quedara matemtica operacin la
x 0x x 1 G(x) como y
x x x 0x 0x 0
x x x ) x x (1 x M(x) x
G(x)
Res(x)
Q(x)
G(x)
M(x) x
y Res(x) M(x) x (x) C como
3 p o 4 k y 7 n con 0x x x 1 M(x)
3 2
5 4 3 2
5 4 3 2 3 k - n
k - n
k - n
3 2
+ + + =
+ + + + + =
+ + = + + =
+ = + =
= = = + + + =
2S 2009 I. Zamora UniVII-Conf20: Det Cds Linls. Gen
Cds Ccl.
30
Ejemplo generacin de cdigo (2/2)
Luego:
C(x) = x
3
(1+x+x
2
)+x =0+x+0x
2
+x
3
+x
4
+x
5
+0x
6
como n=7

el cdigo es C = (0101110)
Mensaje original
2S 2009 I. Zamora UniVII-Conf20: Det Cds Linls. Gen
Cds Ccl.
31
BONIFICACIN 5:
INVESTIGUE Y HAGA UN RESUMEN SOBRE LOS
CDIGOS CONVOLUCIONALES
SE ENTREGA EN UNA SEMANA.
Bonificacin
2S 2009 I. Zamora UniVII-Conf20: Det Cds Linls. Gen
Cds Ccl.
32

Vous aimerez peut-être aussi