Académique Documents
Professionnel Documents
Culture Documents
Codificacin
Universidad de Vigo
Teora de la Informacin y
Codificacin
UNIVERSIDAD DE VIGO
c 2002, los autores
Ninguna parte de esta publicacin puede ser reproducida, almacenada, registrada o
transmitida cualquiera que sea la forma o el medio, impreso, mecnico, electrnico,
fotoqumico, fotogrfico o de otra naturaleza, sin el permiso expreso por escrito
del editor.
A Jacobo Lpez
ndice general
1. Introduccin 1
1.1. Un modelo de sistema de comunicacin . . . . . . . . . . . . 2
1.2. Los modelos matemticos de las fuentes discretas y los canales discretos 8
1.3. La codificacin de fuente . . . . . . . . . . . . . . . . . . . . 11
1.4. La codificacin de canal . . . . . . . . . . . . . . . . . . . . 17
1.5. Estructura del libro . . . . . . . . . . . . . . . . . . . . . . . 23
I Teora de la Informacin
2. La entropa 29
2.1. Definicin de entropa . . . . . . . . . . . . . . . . . . . . . 29
2.2. Funciones convexas . . . . . . . . . . . . . . . . . . . . . . . 33
2.3. Propiedades de la entropa . . . . . . . . . . . . . . . . . . . 40
2.4. Entropa conjunta . . . . . . . . . . . . . . . . . . . . . . . . 47
3. Codificacin de fuente 51
3.1. Cdigos de bloques . . . . . . . . . . . . . . . . . . . . . . . 52
3.2. Sntesis de cdigos instantneos . . . . . . . . . . . . . . . . 58
3.3. Cdigos ptimos . . . . . . . . . . . . . . . . . . . . . . . . . 62
3.4. Algoritmo de Huffman . . . . . . . . . . . . . . . . . . . . . 67
3.5. Tasa de entropa de un proceso estocstico . . . . . . . . . 73
3.6. Tasa de entropa de una cadena de Markov . . . . . . . . . 75
v
vi ndice general
Bibliografa 455
ix
x Prefacio
Introduccin
ola.
2 La U.I.T. (Unin Internacional de Telecomunicacin) ha definido la telecomunicacin
como toda emisin, transmisin y recepcin de signos, seales, escritos e imgenes, so-
nidos e informaciones de cualquier naturaleza, por hilo, radioelectricidad, medios pticos
u otros sistemas electromagnticos.
1
2 Introduccin
proceso de digitalizacin tiene dos fases diferenciadas: la fase de muestreo (el teorema de
muestreo de Nyquist establece que se puede recuperar cualquier seal analgica a partir
de una secuencia de valores puntuales de la misma convenientemente equiespaciados) y
la fase de cuantificacin (cada uno de los valores de la secuencia anterior se representa,
con tanta fidelidad como se requiera, mediante una cierta secuencia de bits).
4 Actualmente, el empleo de seales digitales para la comunicacin goza de varias im-
portantes ventajas: primero, los ordenadores pueden manipular fcilmente cualquier tipo
de informacin digital; adems, cualquier informacin digital se puede copiar o transmitir
tantas veces como se quiera sin sufrir ningn tipo de alteracin; por ltimo, se pueden
emplear los mismos procedimientos, es decir, una red nica, para el envo de cualquier
tipo de informacin digital.
5 Se denominan canales punto a punto los canales con un nico emisor y un nico
receptor. Si bien estos canales son los que se utilizan en mayor medida para la construccin
de redes de comunicaciones, algunos sistemas de comunicacin se basan en otro tipo de
canales, con mltiples emisores y/o receptores, que se denominan tpicamente canales
multipunto o canales de acceso mltiple. La utilizacin de canales de acceso mltiple
no es ms que un caso particular de una disciplina ms general que se ocupa de la
construccin de redes de comunicaciones. Desde el punto de vista de la Teora de la
Informacin, el problema general de las comunicaciones en red, del que se ocupa la Teora
de la Informacin de Red, no est todava bien resuelto. En todo caso, tal problema cae
fuera del mbito de este libro.
C. Lpez, M. Veiga. Teora de la Informacin y Codificacin 3
las que conviene considerar en la salida smbolos adicionales a los de entrada (vase 11.6).
10 A veces, es tambin importante garantizar el secreto o la autenticidad de un mensaje,
y se han desarrollado una serie de tcnicas matemticas para abordar la solucin de estos
problemas. No obstante, tanto porque tales problemas son de diferente ndole de los que
aqu se van a considerar, como por la amplitud de los mismos, se han excluido del presente
texto.
C. Lpez, M. Veiga. Teora de la Informacin y Codificacin 5
$
%&
$&
( $ ' ($
%)&
$&
!#"
$
Figura 1.1.
enviado por la fuente pueda hacerse tan pequea como se quiera. Ob-
srvese que, en rigor, no se exige que la copia del mensaje sea idntica
al original siempre; si bien, a efectos prcticos, puede suponerse as.
'()*+,
Figura 1.2.
ha publicado un artculo [27] en el que glosa la trascendencia de su obra. Unos aos antes,
en 1993, se publicaba una recopilacin de sus escritos [65].
12 El artculo apareci publicado en dos partes: la primera [59] en julio y la segunda [60]
en octubre.
13 Si bien Shannon cre la Teora de la Informacin para resolver una serie de cuestio-
En este caso el canal tendr un nico estado, por lo que quedar per-
fectamente representado mediante la especificacin, para cada uno de los
smbolos del alfabeto de entrada X = {x1 , x2 , . . . , xi , . . . , xr }, de las proba-
bilidades de que su transmisin d lugar a los distintos smbolos del alfabeto
de salida Y = {y1 , y2 , . . . , yj , . . . , ys }. Tal especificacin suele adoptar la for-
ma de una matriz de probabilidades como la siguiente:
p(y1 | x1 ) p(yj | x1 ) p(ys | x1 )
.. .. ..
. . .
Qrs = p(y
1 i | x ) p(y j | x i ) p(y s | x )
i
.. .. ..
. . .
p(y1 | xr ) p(yj | xr ) p(ys | xr )
p(0) = 0,7
p(x) = 0,1 x {1, 2, 3}.
C
X 1
C1 (X ) = B 2
0 00
1 01
2 10
3 11
C
2
X C2 (X )
0 0
1 101
2 110
3 111
Siendo as, lk podr ser mayor, menor o igual que 2k, segn cul sea la
secuencia de k smbolos generada por la fuente; es decir, en algunos casos la
representacin del mensaje ser ms eficiente que la anterior, pero en otros
casos lo ser menos. Cmo se puede, entonces, determinar la conveniencia
o no de este esquema? Si se tratase de enviar un nico mensaje de longitud
finita, tal cosa no sera posible; pero si se piensa en una fuente que genera
smbolos de forma continuada, es decir, si se piensa que los mensajes pueden
tener una longitud arbitrariamente grande (k tan grande como se quiera),
entonces lk , en virtud de la ley de los grandes nmeros, deja de ser una
variable aleatoria para convertirse en una constante de valor18 lk = L k
donde L es el nmero medio de dgitos binarios necesarios para representar
los smbolos de X . Obsrvese que L es, por tanto, el valor medio de la
variable aleatoria l1 .
Los cdigos como ste, cuya longitud L es la menor de las posibles, se deno-
minan cdigos compactos. Y, llegados a este punto, surgen algunas cuestiones
fundamentales:
p(x, y) = p(x)p(y) x, y X .
Esta nueva fuente as obtenida se dice que es una extensin de orden dos
de la fuente considerada originalmente.
Si se considera ahora la fuente dada por la extensin de orden dos de
la fuente cuaternaria que habamos tomado como ejemplo, y a esta nueva
fuente se le aplica el algoritmo de Huffman para la construccin de un cdigo
compacto, se obtiene el cdigo de la tabla 1.1, cuya longitud (nmero medio
de bits por smbolo de X 2 ), que representaremos por L2 , es
X2 P() C(X 2 )
00 0,49 0
01 0,07 1000
02 0,07 1001
03 0,07 1010
10 0,07 1011
20 0,07 1100
30 0,07 1101
11 0,01 111000
12 0,01 111001
13 0,01 111010
21 0,01 111011
22 0,01 111100
23 0,01 111101
31 0,01 111110
32 0,01 1111110
33 0,01 1111111
Tabla 1.1.
Consideremos tambin una fuente binaria sin memoria que genere ambos
smbolos equiprobablemente; es decir, sea la fuente una variable aleatoria
X de rango X = {0, 1} y medida de probabilidad P(x) = 1/2 x {0, 1}.
Como se ver ms adelante, en el captulo 3, una fuente de este tipo es una
fuente incompresible, es decir, una fuente que no requiere codificador de
fuente.
Si se transmite sobre el canal dado un mensaje de la fuente de longitud
n (es decir, una secuencia de n bits), se sabe que, siempre que n sea sufi-
cientemente grande, en virtud de la ley de los grandes nmeros, se tendr
en destino otro mensaje de n bits que diferir del generado por la fuente
en aproximadamente pn bits; aunque no se sabe en qu bits, puesto que
los errores se distribuyen aleatoriamente en el mensaje. Si se supiese qu
bits son los errneos, podra recuperarse el mensaje original, y los errores
de transmisin no tendran trascendencia.
Como no es as, nos enfrentamos a un problema: la utilizacin de un
canal introduce errores en el mensaje transmitido, de suerte que no podemos
estar seguros de que el mensaje recibido en destino sea igual al emitido por
la fuente. Cabe entonces preguntarse si puede conseguirse la eliminacin de
los errores en la transmisin.20 Por otra parte, parece claro que tal cosa slo
ser posible si se restringen los mensajes que se envan por el canal (mensajes
vlidos) a algn subconjunto de todos los mensajes posibles, ya que resulta
imposible detectar algn error si no se puede afirmar con seguridad que un
cierto mensaje no puede haber sido enviado.
Una forma sencilla de hacer tal cosa consiste en fragmentar el mensaje
de la fuente en secuencias de smbolos de longitud fija, digamos k smbolos,
y asignar a cada una de tales secuencias una secuencia distinta de longitud
n fija (n > k). Cuando se emplea un cdigo tal para la transmisin de
los mensajes de una fuente, slo se transmiten por el canal 2k mensajes
(secuencias de n bits) distintos. Y, si como consecuencia de un error, se
20 El criterio de fiabilidad que hemos elegido no exige la eliminacin de todos los errores.
As, cuando en este texto se habla de transmisin sin errores, debe entenderse, en rigor,
que se habla de una transmisin con una proporcin de errores que se puede hacer tan
pequea como se quiera.
C. Lpez, M. Veiga. Teora de la Informacin y Codificacin 19
X X3
0 000
1 111
Como
P(rec. = x1 x2 x3 ) =
P (rec. = x1 x2 x3 | transm. = 000) P(transm. = 000) +
P (rec. = x1 x2 x3 | transm. = 111) P(transm. = 111)
y puesto que P(transm. = 000) = P(transm. = 111) = 1/2, entonces
P(xj | i) = q si xj = i
P(xj | i) = p si xj 6= i
iii
P (iii | x1 x2 x3 ) 000 111
q3 p3
000 q 3 +p3 q 3 +p3
001 q p
010 q p
x1 x2 x3 100 q p
011 p q
101 p q
110 p q
p3 q3
111 q 3 +p3 q 3 +p3
C. Lpez, M. Veiga. Teora de la Informacin y Codificacin 21
As, por ejemplo, si se reciben tres ceros, no podemos estar seguros de que
se hayan transmitido tambin tres ceros; podra haber ocurrido tambin que
se hubieran transmitido tres unos, pero esto ltimo es normalmente mucho
menos probable (para p = 0,1, por ejemplo, la probabilidad de que se hubie-
sen transmitido tres unos sera 1,37 103 , mientras que se habran trans-
mitido tres ceros con probabilidad 0,9986; lo que significa que, suponiendo
que se han transmitido tres ceros cada vez que se reciben tres ceros, nos
equivocaremos para un nmero suficientemente grande de decisiones
slo un 0,137 % de las veces).
Aplicando esta regla de decisin al caso concreto que estamos consideran-
do, resulta, a la vista de las probabilidades de la tabla, que debe suponerse
que se ha transmitido un cero cuando haya una mayora de ceros en la terna
recibida; y debe suponerse que se ha transmitido un uno cuando haya una
mayora de unos. Es decir, debe suponerse que se ha enviado el smbolo
que aparece ms veces, por lo que esta regla de decisin se denomina de
decodificacin por mayora.
Procediendo as, slo habr error en la transmisin de un smbolo de la
fuente cuando se produzcan al menos dos errores en la transmisin de cada
terna de smbolos por el canal. En consecuencia, la probabilidad de error en
la transmisin de un smbolo vendr dada por P(3)e :
P(3)
e = P(2 errores) + P(3 errores)
= 3p2 q + p3 .
= p2 (3 2p)
y es inmediato comprobar que P(3)
e < p:
P(3)
e p = 2p(p 1)(p 1/2) < 0 p (0, 1/2).
P(5)
e = P(nmero de errores 3)
5 3 2 5 4
= p q + p q + p5 .
3 4
22 Introduccin
P(5) 3 2
e = p (10 15p + 6p )
P(5) (3) 2 2
e Pe = 6p (p 1) (p 1/2) < 0, p (0, 1/2).
P(2n+1)
e = P(nmero de errores n + 1)
Xn
2n + 1
= pn+1+i (1 p)ni .
i=0
n + 1 + i
Teora de la Informacin
27
CAPTULO 2
La entropa
29
30 La entropa
(unidades naturales).
2 En honor de R. V. L. Hartley, que fue el primero en establecer el principio de que la
0.8
0.6
0.4
0.2
0
0 0.1 0.2 0.3 0.4 0.5 0.6 0.7 0.8 0.9 1
As, una regin es convexa si, para cada par de puntos de la regin, la lnea
recta que une dichos puntos pertenece por entero a la regin (es decir, todos
los puntos de la lnea recta pertenecen a la regin).
Ejemplo 2.3. Es, por tanto, una regin convexa cualquier intervalo (a, b)
de puntos de la recta real IR: resulta fcil verificar que para cualesquiera
34 La entropa
vi = pi + (1 )qi
n
X n
X n
X
vi = pi + (1 ) qi .
i=1 i=1 i=1
Definicin 2.3 (Funcin convexa). Se dice que una funcin real f defi-
nida en una regin convexa R de un espacio vectorial es una funcin convexa
si para cualesquiera dos puntos p, q R y IR, 0 < < 1, se cumple
que
f p + (1 )q f (p) + (1 )f (q). (2.1)
y
f (x2 ) f (x1 )
y = f (x) + x2 x 1 (x x1 )
f (x2 )
y = f (x)
f (x1 + (1 )x2 )
f (x1 ) + (1 )f (x2 )
f (x1 )
x1 x1 + (1 )x2 x2 x
K
X
i fi (p)
i=1
d2 f (x)
0
dx2
en ese intervalo; siendo estrictamente convexa si la desigualdad es estricta.
y de aqu que
f (1 )x + y < (1 )f (x) + f (y).
df (x) 1 d2 f (x) 1
= ; = 2.
dx x dx2 x
Como
d2 f (x)
<0 x IR, x > 0,
dx2
entonces f (x) es una funcin estrictamente convexa en todo su dominio de
definicin.
E [f (X)] f (E[X]) .
k1
X k1
X
p(xi )f (xi ) f p(xi )xi .
i=1 i=1
k valores:
k
X k1
X
p(xi )f (xi ) = p(xk )f (xk ) + p(xi )f (xi )
i=1 i=1
k1
X
= p(xk )f (xk ) + 1 p(xk ) q(xi )f (xi )
i=1
k1
X
p(xk )f (xk ) + 1 p(xk ) f q(xi )xi
i=1
k1
X
f p(xk )xk + 1 p(xk ) q(xi )xi
i=1
X
k
=f xi p(xi )
i=1
p(xi )
donde la segunda igualdad se sigue del cambio q(xi ) = 1p(x k)
, de forma que
las q(xi ) forman una distribucin de probabilidad; la primera desigualdad
se sigue de la hiptesis de induccin; la segunda desigualdad se sigue de la
convexidad de la funcin f ; y la ltima igualdad, de deshacer el cambio en
las q(xi ).
p = (p1 , p2 , . . . , pn )
q = (q1 , q2 , . . . , qn ).
n
X X n
1 1
pi log pi log .
i=1
pi i=1
qi
1
y
-1
-2
-3
0 1 2 3 4 5
x
Demostracin. Sean
p(xi )
q(xi ) = P(X = xi | xi A1 ) =
p
p(xi )
r(xi ) = P(X = xi | xi A2 ) =
1p
n
X X X
1 1 1
H(X) = p(xi ) log = p(xi ) log + p(xi ) log
p(x i ) p(x i ) p(x i)
i=1 xi A1 xi A2
X 1 X 1
=p q(xi ) log + (1 p) r(xi ) log
pq(xi ) (1 p)r(xi )
xi A1 xi A2
!
X 1 X 1
=p q(xi ) log + q(xi ) log
q(xi ) p
xi A1 xi A1
!
X 1 X 1
+ (1 p) r(xi ) log + r(xi ) log .
r(xi ) 1p
xi A2 xi A2
y que
X 1 1 X 1
q(xi ) log = log q(xi ) = log
p p p
xi A1 xi A1
X 1 1
r(xi ) log = log
1p 1p
xi A2
Ejemplo 2.6. Supongamos que tenemos en una urna ocho bolas numeradas
del 1 al 8. Supongamos adems que las bolas impares estn dentro de una
caja etiquetada con un 1; y las pares, dentro de una caja etiquetada con un
2. Imaginemos en primer lugar un experimento E1 consistente en extraer al
azar una bola de la urna (sin reparar en qu caja estaba) y observar cul
es su nmero. Representemos por X la variable aleatoria que caracteriza
C. Lpez, M. Veiga. Teora de la Informacin y Codificacin 43
motivo por el que las tres condiciones expuestas pueden ser utilizadas para
una introduccin axiomtica del concepto de entropa.
Teorema 2.6. La nica funcin H(p1 , p2 , . . . , pn ) que satisface las tres con-
diciones anteriores es de la forma
n
X
H = K pi log pi .
i=1
P
De la anterior igualdad, y teniendo en cuenta que pi = 1, se sigue que
X X X
H(p1 , p2 , . . . , pn ) = K pi log ni pi log ni
X ni
= K pi log P
ni
X
= K pi log pi .
46 La entropa
Para finalizar, slo hay que demostrar que la misma igualdad se obten-
dra en el caso de que los pi fuesen irracionales, lo que se sigue de la con-
tinuidad de los pi (condicin 1), ya que existe un nmero racional que se
aproxima tanto como se quiera a un nmero irracional cualquiera.
Es obvio tambin que si slo hay un p(xi ) 6= 0 ste debe valer 1; y resulta
entonces que H(X) = 1 log 1 = 0.
Por otra parte, dado que la entropa es, por definicin, una suma de
trminos no negativos, tal suma slo valdr cero cuando todos los trminos
sean nulos. De lo que se deduce que, necesariamente, habr de cumplirse
siempre que p(xi ) = 0 o que p(xi ) = 1 i; y como todos los p(xi ) deben
sumar necesariamente uno, entonces existe un valor y slo uno de i para el
que p(xi ) = 1.
H(X) log n.
X Y = {(xi , yi ) : xi X , yi Y}
48 La entropa
entonces:
XX 1
H(X) = p(xi , yj ) log
i j
p(xi )
XX 1
H(Y ) = p(xi , yj ) log .
i j
p(yj )
Por tanto,
XX 1
H(X) + H(Y ) = p(xi , yj ) log
i j
p(xi )p(yj )
XX 1
p(xi , yj ) log
i j
p(xi , yj )
= H(X, Y )
Notas bibliogrficas
Codificacin de fuente
nicamente a aquellos cdigos de este tipo en que todas las secuencias de elementos de
D consideradas tienen tambin la misma longitud.
2 Esto no quiere decir que los cdigos que no son unvocamente decodificables sean
51
52 Codificacin de fuente
que requieren del empleo de estos cdigos. Esto ocurre cuando existe una restriccin
para la longitud del mensaje codificado que no satisface ningn cdigo unvocamente
decodificable. Por supuesto, en tales casos, la decodificacin introducir una distorsin
en el mensaje original; y se tiene entonces otro problema, que aunque relacionado con
el nuestro no consideraremos en este texto: el de la minimizacin de la distorsin del
mensaje original para una restriccin de longitud de codificacin dada.
C. Lpez, M. Veiga. Teora de la Informacin y Codificacin 53
Resulta fcil verificar, adems, que si todas las palabras del cdigo son de
longitud constante, la condicin de no singularidad del cdigo es condicin
suficiente para la transmisin fiel.4 Pero si las palabras del cdigo son de
distintas longitudes, la condicin de no singularidad no es suficiente para
la recuperacin fidedigna del mensaje en el receptor; ilustrmoslo con un
ejemplo.
a0
b 01
c 001
d 0001
a0
b 01
c 011
d 0111
a0
b 10
c 110
d 1110
a0
b 10
c 110
d 111
Obsrvese que no es necesario que todas las palabras del cdigo finalicen
con un cero. Sabra cul es ahora el proceso de decodificacin?
En virtud de este teorema, por tanto, se puede verificar por simple ins-
peccin si un cdigo dado es instantneo (y por tanto unvocamente deco-
dificable) o no. Obsrvese que el hecho de que un cdigo no sea instantneo
no implica necesariamente que el cdigo no sea unvocamente decodificable.
La figura 3.1 representa por medio de diagramas de Venn la relacin
entre los distintos tipos de cdigos considerados.
Cdigos de bloques
Cdigos no singulares
Cdigos instantneos
Figura 3.1.
A nosotros nos interesa, pues, en este libro la sntesis del cdigo instan-
tneo ms conveniente para representar los mensajes de una fuente dada. Y
ser mas conveniente aqul para el que sea menor el nmero de smbolos del
alfabeto de codificacin necesarios (en media) para representar cada smbolo
de la fuente. Tal parmetro se denomina longitud del cdigo.
0 1
Nodos de primer orden
0
0 1
Nodos de segundo orden
10
0 1
Nodos de tercer orden
110 111
Figura 3.2.
Teorema 3.2 (de Kraft). Es condicin necesaria para que un cdigo sea
instantneo que se verifique
q1
X
Dli 1 (3.1)
i=0
del rbol del cdigo son disjuntos, estas fracciones sumarn como mucho 1,
obtenindose la desigualdad (3.1).
Ejemplo
P 3.5. Sea D = 3 y sean las longitudes (1, 1, 2, 2, 3, 3, 4, 4, 4). Enton-
ces, i 3li = 1. Y un cdigo instantneo cuyas longitudes sean las dadas
es el que se representa en el siguiente rbol:
0 1 2
0 1
0 1 2
20 21
0 1 2
220 221
0 1 2
L HD (X).
Ln HD (X n )
q1
!k
X X k
Dli = D|i |
i=0 ik C k
62 Codificacin de fuente
lmin = mn (li ; 0 i q 1)
ax (li ; 0 i q 1).
lmax = m
q1
!k kl
X X max
li
D = nl Dl .
i=0 l=klmin
q1
!k kl
X X max
Dli 1
i=0 l=klmin
q1
!k
X
Dli klmax
i=0
Pq1 1
de donde i=0 Dli (klmax ) k k.
1
Obsrvese por ltimo que (klmax ) k es una funcin decreciente de k, y
1
tambin que lmk (klmax ) k = 1; y se tiene como conclusin que
q1
X
Dli 1.
i=0
por lo que, para que se cumpla que HD (X) = L, se tienen que cumplir
simultneamente las dos condiciones siguientes:
P li
iD =1
li
D
pi = qi = X l i
D i
i
1
li < logD +1 i
pi
por lo que se puede obtener una cota superior para la longitud del cdigo.
L < HD (X) + 1
1
tomando li = dlogD pi e.
Demostracin.
X
L= p i li
i
X
1
< pi logD +1
i
pi
X 1 X
= pi logD + pi
i
pi i
= HD (X) + 1.
C. Lpez, M. Veiga. Teora de la Informacin y Codificacin 65
Ejemplo 3.6.
1
L < HD (X) +
n
con n tan grande como se quiera.
Ln < HD (X n ) + 1
HD (Y ) = .
HD (X)vf = HD (Y )vcf
HD (X)
vcf = vf Lf = vf
l m
pi li = log p1i
0,7 1
0,1 4
0,1 4
0,1 4
pi Ci
0,7 0
0,1 10
0,1 110
0,1 111
lq1 li i = 0, 1, . . . , q 2.
Demostracin. Suponga que existe un i tal que li > lq1 . Bastara con
intercambiar las palabras del cdigo i y q1 para obtener el cdigo com-
pacto deseado, ya que tal intercambio no incrementa la longitud del cdigo
pi p0i p00i C
0
0,7 0,7 0,7 0
0 1
0,1 0,2 0,3 11
0 1
0,1 0,1 100
1
0,1 101
V + q = D + m(D 1); 0V D2
q 2 = m(D 1) + D 2 V
72 Codificacin de fuente
pi p0i p00i C
0
0,2 0,3 0,5 2
1
0,2 0,2 0,3 00
0 2
0,15 0,2 0,2 01
1
0,15 0,15 02
0 2
0,1 0,15 10
1
0,1 11
2
0,1 12
pi p0i p00i C
0
0,3 0,3 0,5 1
1
0,2 0,2 0,3 00
0 2
0,15 0,2 0,2 01
1
0,15 0,15 02
0 2
0,1 0,15 20
1
0,1 21
Sean
H(Xi | Xi1 , Xi2 , . . . , X1 ) = ai
lm an = a
n
Xn
1
ai = b n .
n i=1
(n)
Representemos por fj la probabilidad de que el primer regreso al esta-
do j se produzca al cabo de exactamente n instantes de tiempo. Est claro
que la probabilidad de regresar alguna vez al estado j est dada por
X (n)
fj = fj .
n=1
(n)
j = P(Xn = j).
Ejemplo 3.11. Considere una cadena de Markov de dos estados con matriz
de probabilidades de transicin
1
P = .
1
1 estado estado 1
1 2
1 = p2 + 3
q2 = 3
1
1 = = 2
2+q
q
3 = .
2+q
C. Lpez, M. Veiga. Teora de la Informacin y Codificacin 81
1 = 0,4
1
2 = 1 =
2+q
resulta que q = 0,5, por lo que H(X ) = 0,4 bits; con lo que un mensaje de la
fuente de longitud n (suficientemente grande) podra representarse slo con
0,40n smbolos binarios. Obsrvese el notabilsimo aumento de la eficiencia
de la representacin de los mensajes de la fuente.
Ejemplo 3.13. Existe otra cadena de Markov que puede emplearse, alter-
nativamente, para el modelado de la fuente anterior. Observe que podramos
modelar igualmente la fuente en cuestin mediante una cadena de Markov
de dos estados: un estado 1, en el que se transmitira una secuencia de dos
smbolos diferentes, 01 (o 10, segn cul fuese el primer bit del mensaje);
y un estado 2, en el que se transmitira una secuencia de tres smbolos,
001 (o 100). El diagrama de transiciones de esta cadena de Markov sera el
siguiente
donde H(X ) = H() + H() = 0,4 bits.
+ +
Obsrvese que esta cadena de Markov consta de dos estados en los que
se puede permanecer indefinidamente, por lo que este modelo es equivalente
a una fuente binaria sin memoria cuyos smbolos sean las secuencias de
dos y tres bits que se transmiten, respectivamente, en los estados 1 y 2
de la cadena de Markov anterior. Y ntese, entonces, cmo una adecuada
definicin de los smbolos permite recoger cierto grado de memoria con un
modelo de fuente sin memoria. Modelaramos entonces la fuente como una
variable aleatoria binaria X de rango X = {01, 001} y P(X = 01) = 0,5.
As definida X, resulta que H(X) = 1 bit. Es decir, se necesita, en media,
un bit para representar cada smbolo de esta fuente. Pero los smbolos de
esta fuente tienen una longitud media de 2,5 bits; lo que quiere decir que un
mensaje suficientemente largo de la fuente puede reducirse hasta un 40 %
de su longitud original, que es el mismo resultado de antes.
82 Codificacin de fuente
Notas bibliogrficas
(n)
Definicin 3.14 (Conjunto tpico). El conjunto tpico T con res-
pecto a la variable aleatoria X, de rango X , es el conjunto de secuencias
(x1 , x2 , . . . , xn ) X n que tienen la siguiente propiedad:
Teorema 3.20.
(n)
1. Si (x1 , x2 , . . . , xn ) T , entonces
1
H(X) log p(x1 , x2 , . . . , xn ) H(X) + .
n
(n)
2. P(T ) > 1 para n suficientemente grande.
(n)
3. El nmero de elementos del conjunto tpico es |T | 2n(H2 (X)+) .
(n)
4. |T | (1 )2n(H2 (X)) para n suficientemente grande.
(n)
As, si n es suficientemente grande para que P(T ) > 1 , la longitud
media del cdigo, L, es
X X
L= l1 p(x1 , . . . , xn ) + l2 p(x1 , . . . , xn )
(n) (n)
(x1 ,...,xn )T (x1 ,...,xn )T
/
X
< (nH2 (X) + + 2)p(x1 , . . . , xn )
(n)
(x1 ,...,xn )T
X
+ (n log2 |X | + 2)p(x1 , . . . , xn )
(n)
(x1 ,...,xn )T
/
= P(T(n) ) nH2 (X) + + 2 + 1 P(T(n) ) (n log2 |X | + 2)
< n(H2 (X) + ) + n log2 |X | + 2
= n(H2 (X) + 0 )
2N 2n(H2 (X)+)
Pe < .
de secuencias de la fuente, tpicas o no, para las que no hay palabras del
cdigo ser tal que
1 Pe + 2n .
entonces que
1
F (x) Fl(x) (x) < .
Dl(x)
1
Por otra parte, si l(x) = dlogD p(x) e + 1, entonces
1 1
< F (x) F (x 1) .
Dl(x) 2
Existen varias versiones del mtodo [38, 79, 81], ligeramente diferentes entre
s, pero la regla ms sencilla de anlisis es la siguiente: el siguiente trmino es
el trmino ms corto que todava no se ha observado. Siendo as, el siguiente
trmino estar compuesto por un trmino anterior (y podr representarse
simplemente mediante un nmero de ndice que indicar su posicin en una
lista ordenada de trminos diccionario) ms un smbolo adicional. Los
detalles de implementacin se discuten en [73] y [9]. Sorprendentemente,
pese a su sencillez y aun sin tener en cuenta las caractersticas estadsticas
de la fuente, el mtodo LempelZiv codifica cualquier fuente estacionaria
ergdica a su tasa de entropa, como se demuestra en [80, 15, 76].
CAPTULO 4
91
92 Informacin mutua y capacidad de canal
Ejemplo 4.1. Sea (X, Y ) una variable aleatoria bidimensional con la si-
guiente distribucin conjunta:
Y \X 1 2 3 4
1 1 1 1
1 8 16 32 32
1 1 1 1
2 16 8 32 32
1 1 1 1
3 16 16 16 16
1
4 4 0 0 0
Adems,
4
X
H2 (X | Y ) = P(Y = i)H2 (X | Y = i)
i=1
1 1 1 1 1 1 1 1 1 1
= H2 , , , + H2 , , ,
4 2 4 8 8 4 4 2 8 8
1 1 1 1 1 1
+ H2 , , , + H2 (1, 0, 0, 0)
4 4 4 4 4 4
1 7 1 7 1 1
= + + 2+ 0
4 4 4 4 4 4
11
= bits
8
4
X
H2 (Y | X) = P(X = i)H2 (Y | X = i)
i=1
1 1 1 1 1 1 1 1 1
= H2 , , , + H2 , , ,0
2 4 8 8 2 4 4 2 4
1 1 1 1 1 1 1 1
+ H2 , , , 0 + H2 , , ,0
8 4 4 2 8 4 4 2
1 7 1 3 1 3 1 3
= + + +
2 4 4 2 8 2 8 2
13
= bits.
8
94 Informacin mutua y capacidad de canal
Demostracin.
X 1 XX 1
H(Y ) + H(X | Y ) = p(yj ) log + p(xi , yj ) log
j
p(yj ) i j
p(xi | yj )
XX
1 1
= p(xi , yj ) log + log
i j
p(yj ) p(xi | yj )
XX
1
= p(xi , yj ) log
i j
p(yj ) p(xi | yj )
XX 1
= p(xi , yj ) log
i j
p(xi , yj )
= H(X, Y ).
H(X | Y ) H(X)
H(X | Y ) = H(Y | X) = 0.
por un lado:
Figura 4.1. Relacin entre la informacin mutua y la entropa.
7 11 3
I(X; Y ) = H(X) H(X | Y ) = = bits.
4 8 8
nunca es negativa,
Teorema 4.6.
I(X; Y ) mn H(X), H(Y ) .
Demostracin.
I(X; Y ) = H(Y ) H(Y | X)
X
= H(Y ) p(xi )H(Y | X = xi )
i
X X 1
= H(Y ) p(xi ) p(yj | xi ) log .
i j
p(yj | xi )
y la diferencia de una funcin convexa y una funcin lineal resulta ser una
funcin convexa.
Teorema 4.9.
I(X; Y | Z) 0
Teorema 4.10.
Demostracin.
Demostracin.
I(X; Y, Z) = I(X; Z) + I(X; Y | Z) = I(X; Y ) + I(X; Z | Y ).
Pero, como X y Z son condicionalmente independientes, I(X; Z | Y ) = 0; y
como I(X; Y | Z) 0, se tiene que
I(X; Z) I(X; Y ).
p(x | y)
I(X; Y) = E log
p(x)
p(y | x)
= E log .
p(y)
C. Lpez, M. Veiga. Teora de la Informacin y Codificacin 103
Demostracin.
Qn
p(y | x) i=1 p(yi | xi )
I(X; Y) = E log = E log
p(y) p(y)
Demostracin.
p(x | y) p(x | y)
I(X; Y) = E log = E log Qn
p(x) i=1 p(xi )
= 1.
Resulta tambin interesante notar que estas dos condiciones son tam-
bin condiciones necesarias. Basta para ello verificar en los dos teoremas
anteriores que, como consecuencia de la desigualdad de Gibbs, es condicin
necesaria y suficiente para que se cumpla la igualdad que:
n
Y
P (x | y) = p(xi | yi ), en el teorema 4.13.
i=1
106 Informacin mutua y capacidad de canal
Teorema 4.15. C 0.
Teorema 4.16. C m
ax H(X).
C. Lpez, M. Veiga. Teora de la Informacin y Codificacin 107
P(X = 0, Y = 0) = 1
P(X = 1, Y = 0) = p
P(X = 0, Y = 1) = 0
P(X = 1, Y = 1) = (1 p)
P(Y = 0) = 1 (1 p)
P(Y = 1) = (1 p).
Se tiene entonces que, en este caso, I(X; Y ) es una funcin de una va-
riable real, , cuya maximizacin es trivial: se obtiene el valor de que
maximiza I(X; Y ), max , resolviendo la ecuacin dI(X;Y
d
)
= 0. As, resulta
que:
1
max = p
1 p + p 1p
y que h i
p
C = I(X; Y )|=max = log 1 + (1 p)p 1p .
que ser mxima cuando lo sea H(X). Pero de las propiedades de la entropa
se sabe que el mximo de H(X) se alcanza cuando la distribucin de la
variable aleatoria X es uniforme (pi = 1/M i), y vale H(X) = log M ;
por lo que, en este caso, se obtiene directamente la capacidad del canal:
C = (1 p) log M.
Definicin 4.6 (Canal simtrico). Se dice que un canal discreto sin me-
moria es simtrico cuando su matriz de probabilidades de transicin cumple
las dos propiedades siguientes:
Y =X +Z (m
od K)
C = log s H(Y | X = xi ) i.
por
Pr ser p(xi ) constante i. Y como, por ser el canal simtrico, la suma
i=1 p(yj | xi ) es constante j, entonces tambin p(yj ) es constante j.
C. Lpez, M. Veiga. Teora de la Informacin y Codificacin 111
Por tal motivo estas dos condiciones podran constituir una definicin
alternativa de la simetra del canal.
2 C1
p= .
2 C1+ 2 C2
A su vez,
I(X; Y ) = H(X) + H(Y ) H(X, Y ).
Ejemplo 4.7.
1p p 0 0
p 1p 0 0 1
Q44 =
0
; p< .
0 1p p 2
0 0 p 1p
En este caso, C1 = C2 = 1 H2 (p) bits; y por tanto C = 2 H2 (p) bits,
obtenindose dicha capacidad para entradas equiprobables.
C. Lpez, M. Veiga. Teora de la Informacin y Codificacin 113
Qe = Q 1 Q 2
Es decir, el canal equivalente es otro canal binario simtrico, pero con pro-
babilidad de error 2p(1 p).
Notas bibliogrficas
El teorema de codificacin de
canales ruidosos
5.1. Introduccin
115
116 El teorema de codificacin de canales ruidosos
vcf = H2 (X)vf
Es bien sabido que se puede hacer Pe tan pequea como se quiera dismi-
nuyendo R. Pero lo que ahora se va a probar es algo que a primera vista re-
sulta verdaderamente sorprendente: no es necesario reducir indefinidamente
R para hacer Pe tan pequea como se quiera; basta que R < C (expresada
C en bits). As, para cualquier R < C, puede hacerse Pe tan pequea como
se quiera sin que disminuya R, incrementando el valor de n.
Obsrvese finalmente que, dado que R = k/n, y habida cuenta de que
k = log2 M , resulta que
log2 M
R=
n
o, equivalentemente,
M = 2nR
expresiones ambas que ligan el nmero de palabras del cdigo, M , con su
tasa, R. Obviamente, esta tasa R no puede tomar cualquier valor. No obs-
tante, a veces interesa considerar una variacin continua de R, y en dichos
casos ser necesario corregir la expresin anterior de la siguiente forma:
M = 2nR .
De la misma forma:
X
Pe,2 P(y | x2 )1r P(y | x1 )r ; 0 < r < 1.
y
Y tomando s = 1/2:
XX p
2
E [Pe,i ] Qn (x) P(y | x) .
y x
C. Lpez, M. Veiga. Teora de la Informacin y Codificacin 121
Qn
entonces, si se elige Qn (x) = i=1 Q(xi ), se tiene:
X X X n
XY p
2
E [Pe,i ] Q(xi ) P(yi | xi )
y1 yn x1 xn i=1
X X Y
n X p
2
= Q(xi ) P(yi | xi )
y1 yn i=1 xi
n
YX X 2
p
= Q(xi ) P(yi | xi )
i=1 yi xi
!2 n
J1
X K1
X p
= Q(k) P(j | k)
j=0 k=0
siguindose la ltima igualdad del hecho de que todos los xi tienen el mis-
mo recorrido (que es el alfabeto de entrada del canal, que hemos supuesto
dado por {0, 1, . . . , K 1}) y tambin todos los yi tienen el mismo reco-
rrido (que es el alfabeto de salida del canal, que hemos supuesto dado por
{0, 1, . . . , J 1}). Se tiene, entonces, una cota para la probabilidad de error
media cuando el cdigo tiene slo dos palabras. Dicha cota es funcin de las
probabilidades con las que se eligen independientemente los diferentes sm-
bolos de las palabras del cdigo, Q(k), y de las probabilidades de transicin
del canal (supuesto sin memoria), P(j | k).
Existe una forma alternativa de derivar la cota obtenida para E [Pe,i ] que
es ms fcilmente generalizable para cdigos con un nmero arbitrario de
palabras. Observe que E [Pe,i ] es un promedio sobre x1 , x2 e y. Cuando se
enva el mensaje 1 codificado como x1 , y ocurre con probabilidad P(y | x1 ),
y suponemos que ha ocurrido un error si P(y | x2 ) P(y | x1 ). As:
X X
E [Pe,1 ] = Qn (x1 ) P(y | x1 ) P(error | i = 1, x1 , y)
x1 y
y que !
[
P(error | i, xi , y) P A i0
i0 6=i
X
P(Ai0 ) = Qn (xi0 )
xi0 :P(y | xi0 )P(y | x)
X s
P(y | xi0 )
Qn (xi0 ) , cualquier s > 0.
xi 0
P(y | xi )
M
X
E[Pe ] = P(i) E[Pe,i ] K n[E0 (,Q)R] .
i=1
Ea (R) = ax [E0 (, Q) R]
m
01,Q
Anlisis de Ea (R)
E0 (, Q)
2. 0 < I(Q); 0 (cumplindose la igualdad en la
segunda desigualdad de la cadena si = 0);
2 E0 (, Q)
3. 0; 0 (cumplindose la igualdad si y slo si j, k :
2
Q(k) P(j | k) > 0, se tiene que I(Q) es determinista);
ax [E0 (, Q) R] .
Ea (R, Q) = m
01
E0 (, Q)
R= , 01 (5.1)
E0 (, Q)
Ea (R, Q) = E0 (, Q) . (5.2)
R 2 E0
=
2
Ea 2 E0
=
2
Ea (R, Q)
=
R
2 1
2 Ea (R, Q) E0
= 0
R2 2
1
H(U) H(U)
L
siendo H(U) la tasa de entropa de la fuente (vase el apartado 3.5).
C
vc
H(X)
Ejemplo 5.1. Suponga que se quieren transmitir de forma fiable los men-
sajes de una fuente binaria sin memoria dada, de entropa H(X) = 0,5 bits,
sobre un cierto canal binario sin memoria ruidoso, de capacidad C = 0,8
bits y rgimen de transmisin vc = 1 smbolo por unidad de tiempo.
vcf = vf /2 = 0,8.
Lc = 1/0,8 = 1/C(bits).
Notas bibliogrficas
y P(
u 6= u | y) solamente es funcin, para cualquier y fijo, de la regla
de decodificacin.
u 6= u | y) = 1 m
mn P( u = u | y).
ax P(
u
u
134 El teorema de codificacin de canales ruidosos
Por tanto, el mnimo global se obtiene cuando, para cada posible vector
recibido, y, se elige como estimacin de vector transmitido aqul que hace
mxima la probabilidad1 P(u | y)
ax P(u | y).
= f (y) = arg m
u (5.3)
u
pj (1 p)nj
137
CAPTULO 6
Cdigos lineales
6.1. Introduccin
139
140 Cdigos lineales
un canal; slo se podra hablar con propiedad de la capacidad de un canal para una
probabilidad de error dada.
2 Forma que, por cierto, ya utiliz C. Shannon para deducir la existencia de cdigos
de canal ptimos.
C. Lpez, M. Veiga. Teora de la Informacin y Codificacin 141
cin de smbolos del mensaje en cada palabra del cdigo; y 1Rc = (nk)/n
mide la proporcin de redundancia por cada smbolo de la secuencia codi-
ficada. La diferencia n k es la redundancia (en nmero de smbolos) del
cdigo, y n es su longitud. Representaremos normalmente un cdigo con
tales parmetros por C[n, k].
Aunque, en sentido estricto, un cdigo es una aplicacin entre F k y F n ,
las propiedades de inters de un cdigo dado dependen nicamente de la
eleccin de las palabras del cdigo, y no de la asignacin particular de stas
a mensajes, que debe ser conocida pero puede ser arbitraria. Por esta razn,
cuando se trata con cdigos de control de errores se entiende que un cdigo
de bloques es un conjunto de n-tuplas, en nmero igual al de las k-tuplas
que deben representarse.
El problema de los cdigos de bloques genricos es que, en ausencia de
una estructura regular en el proceso de codificacin:
+ 0 1
0 0 1
1 1 0
0 1
0 0 0
1 0 1
Ejemplo 6.1. El cdigo definido por la tabla 6.1 es un cdigo lineal binario
[7, 4], que se identificar por H3 . Es fcil comprobar que la suma de dos
palabras del cdigo da siempre otra palabra del cdigo.
C. Lpez, M. Veiga. Teora de la Informacin y Codificacin 145
x = u 1 g1 + + u k gk
Obsrvese que, tal como se ha definido, una matriz generadora sirve para
calcular el conjunto de vectores del cdigo, pero no para conocer el mensaje
que cada uno representa. Para hacer explcita esta asignacin es preciso
suponer que G es la matriz asociada a la aplicacin lineal de codificacin en
ciertas bases de los espacios de partida y de llegada.
Por consiguiente, la matriz generadora G de un cdigo lineal no es nica
al no serlo las bases de las que procede. Un resultado bsico del lgebra
matricial ensea que, tras realizar una secuencia de operaciones elementales
(el mtodo de Gauss) en G:
As, para obtener una palabra del cdigo slo es preciso calcular los n k
smbolos de redundancia xk+1 , . . . , xn con las n k ecuaciones lineales
k
X
xk+j = ui ai,j j = 1, . . . , n k.
i=1
hx, gi i = 0, i = 1, . . . , k
n rango({g1, . . . , gk }) = n rango(G) = n k.
es autodual.
150 Cdigos lineales
v1 + v 3 + v 4 + v 5 = 0
v1 + v 2 + v 3 + v 6 = 0
v2 + v 3 + v 4 + v 7 = 0
0000000 1011100
1110010 0111001
0101110 1001011
1100101 0010111
x + e = y.
e = y x.
C. Lpez, M. Veiga. Teora de la Informacin y Codificacin 153
?
y H T = 0.
s = y H T = (x + e)H T = x H T + e H T = 0 + e H T = e H T (6.3)
s = e HT (6.4)
palabra del cdigo, y la diferencia entre dos vectores de una misma columna
es un vector independiente de las palabras del cdigo. La suma de dos
vectores cualesquiera de una misma fila es una palabra del cdigo slo si el
alfabeto de codificacin es binario.
Pues bien, partiendo de que el conjunto de vectores binarios de longitud
n junto con la operacin de suma forman un grupo aditivo del que C[n, k]
es un subgrupo (es decir, sin ms que recurrir a las propiedades de la suma
de vectores binarios), es posible establecer una propiedad fundamental de la
matriz tpica, que aclara la relacin directa entre los sndromes y los errores
en el canal.
Teorema 6.5. Todos los vectores de una misma fila de la matriz tpica
tienen el mismo sndrome, y el sndrome asociado a cada fila es distinto.
Tabla 6.2. Matriz tpica para el cdigo [5, 2] del ejemplo 6.5.
Ejemplo 6.5. Una matriz tpica del cdigo binario lineal [5, 2] de matriz
generadora
1 0 1 0 1
G=
0 1 0 1 1
se da en la tabla 6.2, y la tabla 6.3 es la de decodificacin por sndrome. En
sta, los vectores de la primera columna son el vector nulo, todos los de 1
bit y dos vectores de 2 bits, los nicos errores corregibles.
e1 + e 3 + e 4 + e 5 = 1
e1 + e 2 + e 3 + e 6 = 1
e2 + e 3 + e 4 + e 7 = 1
y + emin = 0010111
y comete un error.
La tabla de decodificacin por sndrome (tabla 6.4) tiene, para este cdi-
go, una estructura especialmente sencilla, por ser las columnas de la matriz
160 Cdigos lineales
s emin s emin
000 0000000 100 0000100
001 0000001 101 0001000
010 0000010 110 1000000
011 0100000 111 0010000
dH (x, y) = pH (x y).
todos los posibles pares de palabras del cdigo diferentes, obtener la distan-
cia Hamming que las separa, y conservar el mnimo de todas las distancias.
El procedimiento es trivial, pero impracticable si el nmero de palabras del
cdigo es elevado. Por fortuna, la tarea es algo ms sencilla si se tiene en
cuenta la linealidad.
pH (e) dC 1.
!#"
$&% ' (*),0
. +#- /
Figura 6.1. Relacin geomtrica entre la distancia de un cdigo y la
capacidad de control de errores.
De modo que habra dos palabras del cdigo a distancia menor que dC ,
lo que por hiptesis es imposible y obliga a rechazar la existencia de otra
palabra del cdigo ms cercana al vector recibido que x.
Por otra parte, si el peso de e es menor o igual que dC 1, resulta
imposible transformar una palabra del cdigo en otra, y por tanto el error
e es detectable.
dC = s dC s, dC < s + 1.
Otra consecuencia directa del teorema 6.9 es que, para cdigos lineales,
todos los vectores no nulos de peso menor o igual que b dC21 c deben aparecer
en filas distintas de la matriz tpica. Lo cual equivale a afirmar que tienen
sndromes distintos. El teorema siguiente formaliza esta propiedad, aunque
realmente es una versin alternativa del propio teorema 6.9 teniendo en
cuenta la linealidad.
entonces xH T 6= yH T .
pH (y) pH (x).
pH (x y) pH (x) + pH (y) dC 1
lo que quiere decir que existira una palabra del cdigo distinta de cero,
x y, de peso menor que dC . Y esto es imposible en un cdigo lineal de
distancia dC .
As pues, (C) es el menor entero r tal que las esferas de radio r con
centro en los vectores cdigo de C son un recubrimiento de Ln . En lenguaje
ms geomtrico: ningn vector de Ln est a distancia mayor que (C) de
alguna palabra del cdigo C. Es obvio que
dC 1
(C) .
2
Teorema 6.13.
Demostracin.
un cdigo quasiperfecto se cumple que (C) = t+1, de modo que las esferas
centradas en una palabra del cdigo con radio t + 1 se solapan, pero cubren
todo el espacio de vectores binarios.
Aplicando, por ejemplo, la frmula (6.5) al cdigo H3 (pgina 144), se
obtiene
Ped = 7p3 (1 p)4 + 7p4 (1 p)3 + p7 .
Y para particularizar la expresin (6.6), recordemos del ejemplo 6.6 que la
tabla de sndromes contiene, para este cdigo, el vector nulo, 0 = 1, y
todos los vectores de error de 1 bit, 1 = 7. Por lo tanto
2k(nk)
X
P(error no detectado) = P(Ci ) P(error no detectado | Ci ).
i=1
n
X 2k(nk)
X
k(nk) j nj
P(error no detectado) = 2 p (1 p) Aji . (6.8)
j=1 i=1
C. Lpez, M. Veiga. Teora de la Informacin y Codificacin 169
2k(nk)
X
n (k1)(nk)
Aji 2 .
i=1
j
Los parmetros [n, k] de un cdigo Hamming binario son, por tanto, las
soluciones de la ecuacin n = 2nk 1. Existen, entonces, cdigos Hamming
binarios [2m 1, 2m m 1] para m = 2, 3, . . . , y Hm ser en adelante el
de m smbolos de redundancia.
C. Lpez, M. Veiga. Teora de la Informacin y Codificacin 171
: G {z : |z| = 1}
(a + b) (a)(b)
entre un grupo abeliano (aqu con notacin aditiva) G y el conjunto de los nmeros
complejos de mdulo 1 es un carcter ; por consiguiente, la transformada de Hadamard
x : G {1, 1}
y x (y) = (1)hx,yi
es un carcter algebraico.
174 Cdigos lineales
Por lo tanto
X X X X X
gn (x) = Px (x, y) (1)hx,yi + Px (x, y) (1)hx,yi
xC x6C yC xC yC
X
= |C| Px (x, y).
xC
x = (x1 , . . . , xk+1 )
y = (y1 , . . . , yk+1 )
u = (x1 , . . . , xk )
v = (y1 , . . . , yk )
donde la primera igualdad se sigue del lema 6.14 y la segunda del lema 6.15.
Kj,7 (i) j
1 7 21 35 35 21 7 1
1 5 9 5 5 9 5 1
1 3 1 5 5 1 3 1
i 1 1 3 3 3 3 1 1
1 1 3 3 3 3 1 1
1 3 1 5 5 1 3 1
1 5 9 5 5 9 5 1
1 7 21 35 35 21 7 1
de donde se deduce que este cdigo dual consta de una palabra de peso 0 y
7 de peso 4. La tabla 6.7 lista los coeficientes Kj,7 (i) con los que verificar la
expresin (6.10). El cdigo dual de un Hamming se estudia con ms detalle
en el apartado 7.7.
Si se extiende H3 , se obtiene un cdigo [8, 4, 4] autodual, H b3 , compuesto
por el vector nulo, 14 vectores de peso 4 y un vector de peso 8. Por tanto,
WH3 (x, y) = x8 + 14x4 y 4 + y 8 .
Puede comprobarse sin dificultad que WH3 (x, y) = WH (x, y) y, aun ms,
3
que WH3 (x, y) es el nico polinomio enumerador posible de un cdigo [8, 4, 4]
autodual.
Notas bibliogrficas
M 2nd+1 .
2t + 1 d n k + 1 n k 2t,
d
R 1 .
n
(La notacin f (n) g(n) significa que f (n) g(n)(1+o(1)), con o(1)
0, cuando n ). As que, en el caso ms favorable, la convergencia de
las distancias de una familia no degenerada de cdigos es lineal en n y no
supera el valor 1 R, la proporcin de redundancia del mensaje codificado.
El siguiente resultado elemental establece un lmite superior al nmero
de errores que se pueden corregir con un cdigo de bloques binario; o, dicho
de otro modo, da un lmite inferior a la redundancia que se necesita para
que exista un cdigo con distancia 2t + 1.
Lema 6.20.
np
X n 1
2nH2 (p) O(n1/2 ) 2nH2 (p) 0p< .
i=0
i 2
Por tanto
Xnp
1 n 1
lm log2 = H2 (p) 0p< .
n n i 2
i=0
y por tanto
n
X n n
2r + 2r .
i
i=n
tenemos
n n!
=
np (np)!(n(1 p))!
1 1 1 1
p np n(1p)
e 12np 12n(1p)
2np(1 p) p (1 p)
1
=p 2nH2 (p) e1/(12np(1p)) = 2nH2 (p) O(n1/2 ).
2np(1 p)
Tomando el lmite n de las cotas superior e inferior
m
X
1 n
lm log2 = H2 (p).
n n i
i=np
Demostracin. Calculemos
X
d(x, y),
x,yC
186 Cdigos lineales
la suma de las distancias entre todos los posibles pares ordenados de palabras
del cdigo, de dos formas distintas.
Escribiendo las palabras del cdigo C como las filas de una matriz M n,
y si ci , 1 i n, es el nmero de unos en la columna i de esa matriz, se
tiene n
X X M2
d(x, y) = 2ci (M ci ) n .
i=1
2
x,yC
Por consiguiente,
1 nM
d .
2M 1
En los cdigos lineales basta fijar M = 2k . Observe que en la inecuacin de
Plotkin se pueden suponer conocidos dos parmetros cualesquiera y tomar
el otro como incgnita. As,
2d
M
2d n
da un lmite al nmero mximo de secuencias de un cdigo de bloques de
longitud n y distancia d, si n < 2d.
X
k1
d
N (k, d) .
i=0
2i
d 0 + pH (v) d
d 0 + d pH (v) d
3. Supongamos ahora que A es una matriz cuyas filas son los vectores
cj x para todo cj BK C, j = 1, . . . , K, que i es el nmero de
unos en la columna i = 1, . . . , n de A y que i es el nmero de ceros
en la columna i. La suma del peso Hamming Pn de los K 1 vectores
fila de A puede escribirse tambin como i=1 i = Kn , en donde
K(n t) es el nmero total de ceros en A ya que pH (cj x) t.
Sea Pn
j=1 j
=
n
la media aritmtica de la secuencia j . Como
n
X n
X 2
(j )2 = j2 n 0
j=1 j=1
nK 2 (nK 2 2K + 2n1 2 ).
dn 2n
M Pt n
.
2t2 2nt + nd i=0 i
Demostracin. Fijemos
r !
1 2d
< 1 1
2 n
y tomemos t = bnc, de tal modo que 2t2 2nt + nd > 0. Por el teorema
anterior
!
log2 M 1 nd 2n
log2 2 + log2 Pt n
.
n n 2t 2nt + nd i=0 i
R 1 H2 (),
ya que
nd
log2 log2 2 cuando n
2t2 2nt + nd 2 2 +
1
para cierto < 1/2. Dado que R 1 H2 () para cualquier < 2 (1
q
1 2d
n ), se cumple que
r !!
1 2d
R 1 H2 1 1 .
2 n
C. Lpez, M. Veiga. Teora de la Informacin y Codificacin 191
n1
o bien, como 0 = 1, mientras que
d2
X
n1
< 2nk
i=0
i
n
X n
2nH2 () , [0, 1/2]
i=0
i
que, interpretada a la luz del teorema 6.27, significa que existe un cdigo
lineal binario de distancia mayor o igual que n y con no ms de nH2 ()
smbolos de redundancia, esto es
d
n k nH2 () nH2
n
o bien
d
R 1 H2 .
n
k
a) n R
b) cualquier vector binario no nulo de longitud n pertenece al mismo
nmero de cdigos de C.
1
McEliece-Rodemich-Rumsey-Welch
Gilbert-Varshamov
Singleton
Elias
Hamming
0.8
0.6
R
0.4
0.2
0
0 0.05 0.1 0.15 0.2 0.25 0.3 0.35 0.4 0.45 0.5
d/n
Teorema 6.30. Dado 0 < R < 1, existen cdigos binarios lineales [n, k]
con distancia d que verifican
k d
R = , 1 R H2 .
n n
dRie
R, i 1
i
de modo que la primera condicin del teorema 6.29 es verdadera.
Para comprobar que la segunda tambin lo es, y por tanto la veracidad
del enunciado, tomemos un vector binario no nulo de longitud i. Este vector
pertenece a
(2i 2)(2i 4) (2i 2k2 )
(2k 1)(2k 2) (2k 2k1 )
C. Lpez, M. Veiga. Teora de la Informacin y Codificacin 195
Cdigos cclicos
Los cdigos cclicos son un subconjunto de los cdigos lineales que, por
gozar de una estructura matemtica ms restrictiva, presentan una significa-
tiva ventaja: sus algoritmos de codificacin y, en especial, de decodificacin
admiten una realizacin ms simple. La de los cclicos es por ello una de
las familias de cdigos ms tiles; contiene buenos grupos de cdigos (como
los Golay, BCH, ReedSolomon, de residuo cuadrtico, ...), que se emplean
solos o como componentes en esquemas de codificacin iterativos (cdigos
concatenados).
En este captulo se definen y caracterizan los cdigos cclicos enfatizando
su carcter lineal. Se describen asimismo los circuitos generadores y compro-
badores de redundancia; se identifican luego las propiedades de control de
errores; y, para finalizar, se analizan los fundamentos de los algoritmos de
decodificacin.
7.1. Definicin
197
198 Cdigos cclicos
los elementos de S hay definidas dos operaciones con las cuales se dota
a S de estructura de cuerpo finito. En particular, para cdigos binarios,
S = GF(2).
Un vector v = (vn1 , . . . , v0 ) de un cdigo cclico binario admite una
representacin unvoca en forma de polinomio en la variable x con coefi-
cientes en GF(2):
para i = 1, . . . , n 1.
es una combinacin lineal de las palabras del cdigo xi g(x); y por tanto, en
virtud de la condicin de linealidad, cualquier mltiplo de g(x) con grado
inferior a n es tambin una palabra del cdigo.
Por otra parte, cualquier polinomio del cdigo v(x) se puede escribir,
de manera nica (merced al algoritmo de divisin eucldeo), como v(x) =
a(x)g(x) + r(x), siendo a(x) el polinomio cociente de la divisin de v(x)
entre g(x), y r(x) el polinomio resto. El resto es o bien el polinomio nulo
o bien un polinomio de grado menor que el de g(x). Si r(x) no fuese nulo,
entonces r(x) = v(x)a(x)g(x) sera una palabra del cdigo de grado menor
que g(x), lo que es imposible por definicin. En consecuencia, r(x) = 0 y
todo polinomio del cdigo es divisible por g(x), es decir, v(x) = a(x)g(x).
Puesto que v(x) = a(x)g(x), es fcil deducir de aqu que, para engendrar
las 2k palabras de un cdigo binario [n, k], es preciso que el grado de g(x)
sea n k.
Por ltimo, si se divide xk g(x) entre xn 1,
xk g(x) = xn 1 + r(x)
el resto r(x) = g (k) (x) = xk g(x) mod xn 1 es la palabra del cdigo
que resulta del desplazamiento cclico de k posiciones de g(x) y, por todo lo
anterior, contiene a g(x) como factor. Por lo tanto, xn 1 = xk g(x)r(x) =
xk g(x) b(x)g(x) = h(x)g(x), siendo h(x) un polinomio mnico de grado k
con trmino independiente no nulo. As pues, el polinomio generador es un
divisor de xn 1.
1 Pero g(x) no es el nico polinomio del cdigo con esta propiedad.
C. Lpez, M. Veiga. Teora de la Informacin y Codificacin 201
Ejemplo 7.1.
xn 1 = (x 1)(1 + x + + xn1 ).
2 Parano incurrir en problemas formales, definiremos el polinomio generador del cdigo
C = {0} como xn 1.
202 Cdigos cclicos
Tabla 7.1. Palabras y polinomios cdigo del cdigo cclico binario [7,4]
generado por g(x) = x3 + x + 1.
Peso 0 7 8 11 12 15 16 23
Palabras del cdigo 1 253 506 1288 1288 506 253 1
g1 (x) = x11 + x9 + x7 + x6 + x5 + x + 1
o bien por
Las palabras del cdigo generadas por g2 (x) son las mismas que las
engendradas por g1 (x), pero escribiendo los smbolos en orden inverso,
de manera que ambos cdigos son equivalentes (por permutacin). La
tabla 7.3 muestra la distribucin simtrica de los pesos de las palabras
del cdigo.
que, evidentemente, no es sistemtica. Las filas de esta matriz son los coe-
ficientes del polinomio generador y sus k 1 primeros desplazamientos,
xi g(x), i = 0, . . . , k 1, considerados como polinomios de grado n 1.
La matriz comprobadora de paridad del cdigo puede deducirse partien-
do de la relacin g(x)h(x) = 0 mod xn 1, que implica
v H T = 0nk
con
h0 h1 . . . hk1 1 0 ... 0
0 h 0 h1 . . . hk1 1 . . . 0
Hnkn =
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . (7.3)
0 ....... h0 h1 . . . hk1 1
C + D = Ln
C = hg(x)i D = hh(x)i
x C D = {0} x
C1 D 1 C 1
D1
y y
xnk g(x1 ) C + D = Ln xk h(x1 )
D = h i C = h i
g0 C D = {0} h0
Tabla 7.4. Relaciones entre los cdigos cclicos engendrados por g(x),
h(x) y por sus polinomios recprocos cuando g(x)h(x) = xn 1. C1 es
el cdigo que resulta al aplicar a todas las palabras de C la permutacin
de coordenadas i 7 i mod n, es decir, al escribir las palabras de C
en sentido contrario.
vez generador de un cdigo cclico [n, n k], cuya matriz generadora tendr
por filas los coeficientes de h(x) y sus sucesivos desplazamientos. El cdigo
engendrado por h(x) es equivalente al cdigo dual del engendrado por g(x).
En realidad, est formado por todas las palabras de ste ltimo cdigo, es-
critos sus elementos en orden inverso, lo que no es ms que una permutacin
de los smbolos en todos sus vectores.3
C + C 0 = Ln
C C 0 = {0}.
Cdigo dual
0000000 1010011
1101001 0100111
1001110 0011101
0111010 1110100
siendo ri (x) de grado mximo nk1. Por ser fi (x) una palabra del cdigo,
Por supuesto,
1 0 0 0 1 0 1
0 1 0 0 1 1 1
(1101001) = (1101)
0
0 1 0 1 1 0
0 0 0 1 0 1 1
pero se mostrar en el prximo apartado que el circuito de clculo del resto
de la divisin polinmica es ms simple que el codificador de un cdigo lineal
no cclico.
v H T = 0nk
El producto
n+k1
X n+k1
X k
X n+k1
X n1
X
v(x)h(x) = c i xi = xi hj vij = xi hij vj
i=0 i=0 j=0 i=0 j=0
y al ser hk = 1
k1
X
vik = hj vij , i = n 1, . . . , k (7.5)
j=0
que son las ecuaciones recurrentes anunciadas para calcular los dgitos de
redundancia en funcin de los smbolos del mensaje y los smbolos de re-
dundancia obtenidos en las iteraciones previas.
En la figura 7.2 se ha dibujado el esquema de un circuito lineal genrico
para llevar a cabo el clculo de la recurrencia (7.5). Cada una de las cajas
representa una celda de memoria capaz de almacenar un bit (un biestable),
cada crculo es un multiplicador binario (una puerta lgica and), y todos
los sumadores emplean aritmtica mdulo-2 (puertas lgicas xor).
Los k bits del mensaje se almacenan inicialmente en las celdas del regis-
tro de desplazamiento, con el primer smbolo, mk1 , en la posicin xn1 .
En cada etapa j = 1, . . . , n k se realizan las multiplicaciones y sumas
indicadas, con lo que el j-simo coeficiente de redundancia, vnkj , est
disponible en el punto R. A continuacin, el contenido de cada celda se
desplaza una posicin a la derecha, al tiempo que vnkj entra en la pri-
mera celda de la memoria. En cada iteracin sucesiva se calcula un nuevo
bit de redundancia, temporalmente almacenado en la primera celda, cuyo
valor depende de los bits del mensaje y de todos los bits de redundancia
generados antes que l. Despus de k iteraciones, la posicin xn1 contie-
ne el primer bit de redundancia, que se extrae del circuito por la rama de
salida a la vez que se realimenta para continuar calculando los dgitos de
redundancia restantes. Al cabo de n k desplazamientos ms, todos los bits
de redundancia habrn sido calculados y transmitidos por el circuito.
El circuito de multiplicacin realimentado es sencillamente un filtro lineal
recurrente (o autorregresivo) con aritmtica binaria. No se debe olvidar que,
en codificadores binarios, h0 = 1 y 1 = 1.
Iteracin R = m 1 + m2 + m3 m0 m1 m2 m3
1 0 1 0 1
2 0 0 0 1 0
3 1 1 0 0 1
4 1 1 1 0 0
ecuaciones:
(r1)
Q(r) (x) = Q(r1) (x) + Rnr xkr
(r1)
R(r) (x) = R(r1) (x) Rnr xkr g(x)
'&)( *
E R r0 r1 r2
0 0 0
1 0 1 0 0
1 0 1 1 0
1 0 1 1 1
1 1 0 0 1
0 1 1 1 0
0 0 0 1 1
0 1 1 1 1
La primera columna contiene los bits entrantes al circuito, que son los
del mensaje ms tantos ceros como smbolos de redundancia; la segunda
columna seala el valor del bit de la rama de realimentacin en cada etapa;
y la tercera, el valor almacenado en cada una de las celdas del registro de
desplazamiento.
y(x)h(x) mod xn 1.
b) mn{m : ps (x) | xm 1} = 2s 1.
Teorema 7.10. Un cdigo cclico [n, k] detecta todas las rfagas de error
de longitud menor o igual que n k.
Su sndrome ser
Teorema 7.13 (Meggitt). Sean g(x), h(x), s(x) y e(x) polinomios tales
que
a) g(x)h(x) = xn 1
g g g g g -1
0 1 k+2 n-k-2
n-k-1
la reduccin mdulo g(x) del sndrome s(x) desplazado en una posicin. Por
induccin, el sndrome del i-simo desplazamiento cclico de e(x) ser
&(' ) *
!" !# !$ !%
$&% ')(
*
++,
-. , /0
! " #
de paridad
Hnkn = AT Ink
e imaginemos que al transmitir una de las palabras del cdigo slo ocurren
errores en
dC 1
t = t
2
smbolos, siendo dC la distancia del cdigo.
Demostracin.
resulta que
pH (s) pH (en1 , . . . , enk )A pH (enk1 , . . . , e0 )
2t + 1 pH (e1 ) pH (e2 )
= 2t + 1 pH (e)
t + 1.
Esto es, todos los vectores de error que sealan que algn smbolo de
informacin es incorrecto estn asociados a sndromes de peso mayor
que t .
x = y + (0, . . . , 0, s).
Por tanto, en cdigos sistemticos, los errores corregibles que afectan ni-
camente a la parte de redundancia son fcilmente identificables: basta con
verificar si el peso de su sndrome es menor o igual a t . Esa deteccin
del peso del sndrome se puede realizar con un circuito combinacional muy
sencillo. Y, adems, la correccin del error es trivial, porque es suficiente
con sumar el contenido del registro del sndrome al vector recibido.
Consideremos ahora la coleccin de automorfismos del cdigo. Estos au-
tomorfismos son simplemente todas las permutaciones de coordenadas que
convierten una palabra del cdigo en otra palabra del cdigo. De la misma
manera, los vectores de error corregibles se transforman en otros vecto-
res corregibles por la accin de cualquiera de estas permutaciones. Como
acabamos de ver, algunos patrones de error son particularmente fciles de
descubrir y de corregir, lo que significa que para ellos el circuito de deco-
dificacin es ms sencillo. Podemos, por lo tanto, abordar la decodificacin
de un cdigo cclico sin necesidad de un circuito lgico complejo aplicando
la siguiente idea. Elijamos un subconjunto de automorfismos del cdigo ca-
paces de transformar cualquier error corregible en uno que el decodificador
pueda reconocer con facilidad. Apliquemos al vector recibido cada una de
estas permutaciones hasta que se convierta en un vector que el circuito de
decodificacin pueda detectar y, cuando esto ocurra, procedamos a corregir
el error. Por ltimo, invirtamos la permutacin aplicada para obtener el
vector transmitido.
C. Lpez, M. Veiga. Teora de la Informacin y Codificacin 227
Ejemplo 7.8.
tud 3.
8 Omita la lectura de la segunda demostracin si no piensa estudiar los conceptos
presentados en el captulo 9.
230 Cdigos cclicos
k k
Pero como vj GF(2), v(2 ) = v()2 , y lo anterior se cumple si v() = 0.
O bien si T
m
(v2m 1 , . . . , v0 ) 2 1 . . . 1 = 0
lo que quiere decir que
m
1
H = 2 ... 1
o, lo que es lo mismo,
xi (xji 1) = ai (x) aj (x) qm (x).
232 Cdigos cclicos
Pero, por ser qm (x) primitivo, ninguno de los factores xi o xji 1 (j i <
(i) (j)
2m 1) puede ser mltiplo suyo, de donde se tiene que gd (x) 6= gd (x)
m
i 6= j, 0 i, j < 2 1, como se quera probar.
Una matriz generadora del cdigo dual [2m 1, m] es la propia ma-
triz comprobadora de paridad del cdigo Hamming cclico en cuestin, que
podemos escribir por bloques como
Hm2m 1 = Im Am2m m1 .
n = 2m 1
k=m
dC = 2m1
y tambin que C[n, k] es un cdigo cclico, y que sus palabras son el vector
nulo y todos los desplazamientos cclicos del polinomio generador. Adems,
como
dH (x, y) = pH (x + y) = 2m1
la distancia entre dos palabras del cdigo cualesquiera es un invariante,
hecho que motiva que a los cdigos duales de un Hamming se los denomine
cdigos smplex. La de los smplex es, por tanto, una de las familias de
cdigos que satisfacen con igualdad la cota de Griesmer: en efecto,
X
m1
dC
m1
X
= 2i = 2m 1 = n.
i=0
2i i=0
Puesto que todos los vectores del cdigo no nulos tienen el mismo peso
Hamming, resulta sencillo escribir el polinomio enumerador de pesos del
dual:
m1
B(x) = 1 + (2m 1)x2 .
Demostracin.
Teorema 7.17. Sea Fq [x] el conjunto de todos los polinomios con coeficien-
tes tomados de un cuerpo de q elementos. Sea xn 1 = f1 (x)f2 (x) fs (x)
la descomposicin en factores irreducibles en Fq [x].
Demostracin.
b) Los cdigos irreducibles son disjuntos dos a dos. Adems, puesto que
f1 (x), . . . , fs (x) son irreducibles, por el algoritmo de divisin eucldeo
s
X
1= ai (x)fi (x)
i=1
C + C 0 = Ln
C C 0 = {0}.
Notas bibliogrficas
s1 , s2 S, s1 s2 S, s1 s2 S, s2 s1 S
entonces S es un subanillo de A.
C. Lpez, M. Veiga. Teora de la Informacin y Codificacin 239
s1 , s2 I, s1 s2 I
a A, i I, a i I, i a I
grado de a(x)
X
a(x) p(x) = p(x) a(x) = ai p(i) (x) C[n, k]
i=0
Ejemplo 7.11. A partir del cdigo cclico binario [7, 3] generado por g(x) =
x4 + x3 + x2 + 1 se obtiene el cdigo recortado [6, 2]
C a = {000000, 111010, 100111, 011101}
= {0, x5 + x4 + x3 + x, x5 + x2 + x + 1, x4 + x3 + x2 + 1},
un conjunto de polinomios del cual el mnico de menor grado, x4 +x3 +x2 +1,
es generador, porque
x5 + x4 + x3 + x = x(x4 + x3 + x2 + 1)
x5 + x2 + x + 1 = (x + 1)(x4 + x3 + x2 + 1).
Pues bien, si f (x) = a(x)(x4 + x3 + x2 + 1) es un polinomio binario de
grado 6, C a es un ideal de GF(2)[x]/f (x). Por ejemplo, para f (x) = x2 (x4 +
x3 + x2 + 1) = x6 + x5 + x4 + x2 , se tiene
x(x4 + x3 + x2 + 1) mod f (x) = x5 + x4 + x3 + x C a
x(x5 + x4 + x3 + x) mod f (x) = 0 C a
x(x5 + x2 + x + 1) mod f (x) = x5 + x4 + x3 + x C a
lo que prueba que C a es un ideal. Observe que xj C a = 0 mod f (x) para
j 2. Para finalizar, compruebe que
hg(x)i = C a x C a x2 C a x3 C a .
C. Lpez, M. Veiga. Teora de la Informacin y Codificacin 241
Protocolos de retransmisin
243
244 Protocolos de retransmisin
2 A este respecto puede argumentarse que todas las fuentes generan informacin a tasa
variable, y que es slo el proceso de codificacin de fuente el que convierte los datos en
una secuencia de smbolos a intervalos regulares. De hecho, los codificadores modernos de
seales de voz o vdeo generan secuencias de bits con velocidad no constante, reflejando
as el comportamiento dinmico de la seal.
248 Protocolos de retransmisin
(-)+ (*),+ (*),+
Parada y espera resulta ser una estrategia poco eficaz porque el tiempo
de espera por un asentimiento no se utiliza para transmitir nuevas tramas.
Este tiempo es, como mnimo, la suma del tiempo de transmisin del asen-
timiento ms dos veces el retardo de propagacin de la seal elctrica por
el canal,3 y puede llegar a ser relativamente grande frente al tiempo de
transmisin de una trama de datos. En la estrategia de envo continuo con
rechazo simple se elimina esa restriccin superflua: el emisor puede transmi-
tir varias tramas consecutivas sin haber recibido todava el asentimiento de
la primera. O, expresado de manera equivalente, al emisor le est permitido
tener varias tramas pendientes de asentimiento.
El receptor opera, en esencia, del mismo modo que en parada y espera:
acepta las tramas recibidas sin error en el orden correcto (en nmero de
secuencia creciente) y responde individualmente a cada una con un asen-
timiento cuyo nmero indica el nmero de secuencia de la siguiente trama
esperada. En la prctica, para prevenir las retransmisiones originadas por
posibles prdidas de los asentimientos, se adopta como convenio que una
trama de asentimiento con nmero de secuencia i confirma no slo la i 1
de datos sino tambin todas las anteriores. Segn este criterio, los asenti-
mientos positivos son acumulativos.
Un parmetro n 1 limita el nmero mximo de tramas pendientes de
confirmacin en el emisor. As, cuando i es el nmero de secuencia recibido
en el ltimo asentimiento, el emisor podr transmitir las tramas con los n-
3 Cuando en el enlace hay transmisin de datos en ambos sentidos, el tiempo de espera
puede llegar a ser hasta dos veces el tiempo mximo de transmisin de una trama de
datos ms el retardo de propagacin de ida y vuelta.
252 Protocolos de retransmisin
!#"$
% !&('*)+&()-. ,
H . " .#I
H . " .#J
/021DC /0214B /021435/0617 /E021GF 8:9<;-=?>@9*A
! " # $ ! " #
% ' )
&
% '(
5687:9 5687<; 5=6>7@? 5687=A +-,./102,43
Figura 8.5. Estrategia de retransmisin de rechazo simple: efecto de
los errores en los asentimientos.
Pn
n bits es 1 (1 )n = 1 i=0 ni ()i , que podemos escribir como
1 (1 n + o(n)). Cuando n 1, se puede despreciar el trmino6
o(n), y entonces 1 (1 )n n. Tambin en canales con memoria se
verifica esta misma condicin, no siendo ahora la probabilidad de error
en la transmisin de un smbolo, sino un promedio denominado tpicamente
tasa de error de bit. Esto explica que se trate la probabilidad de error como
proporcional a la longitud de trama, y que no se tengan en cuenta posibles
errores en los asentimientos, por ser mucho ms cortos que las tramas de
datos.
Ce 1
(1 p) .
C 1 + a(n)
Ce 1
(1 p) .
C 1 + pa(n)
l
toc = nt
C
1 l
toc =
1pC
n
Ce = (1 p) C.
n+m
La expresin para la cadencia eficaz es ptima en el sentido de que ninguna
estrategia de retransmisin puede conseguir que una fraccin 1 p de sus
tramas lleguen correctamente a su destino en un nmero de intentos de
transmisin menor que el rechazo selectivo ideal.
Si la comparamos con la cadencia eficaz de la estrategia de rechazo sim-
ple, podemos observar que la diferencia entre ambas ser pequea cuando
lo sea el factor pTas C frente a n, es decir, si el tiempo de asentimiento es
pequeo en comparacin con el tiempo de transmisin de las tramas, o si
slo una muy pequea fraccin p de tramas se reciben con errores. En el
primer caso el tiempo desperdiciado cada vez que el emisor debe retroceder
es de poca magnitud, mientras que en el segundo caso la frecuencia con la
que el receptor se ve obligado a retransmitir es baja.
Las frmulas a las que hemos llegado para la cadencia eficaz en los tres
casos son funciones convexas de n, la longitud del campo de datos de la
trama. Considerando a n como una variable continua, el valor ptimo n
que hace mxima la cadencia eficaz es la solucin nica de la ecuacin
dCe (n)
= 0.
dn n=n
C. Lpez, M. Veiga. Teora de la Informacin y Codificacin 263
1
Exacto
Aproximacin
0.9
Rechazo selectivo
0.8
Rechazo simple
0.7
0.6
Ce / C
0.5
0.4
0.3
C = 64 kbps
0.2 Tas = 100 ms.
Parada y espera
pb = 3 105
0.1
0
0 2000 4000 6000 8000 10000
Bits
0.9
0.8
0.7
0.6
Ce / C
0.5
0.4
0.3
C = 1 Mbps
0.2 Tas = 5 ms.
pb = 106
Notas bibliogrficas
n1 + + n k k 1 (n1 + + nk ) E[n]
lm = lm 1 =
k toc1 + + tock k k (toc1 + + tock ) E[toc ]
con probabilidad 1, puesto que los lmites del numerador y del denominador
existen con probabilidad 1 y son constantes.
PARTE III
269
CAPTULO 9
Cuerpos finitos
Los cuerpos finitos son uno de los entes matemticos en los que se sus-
tentan la construccin y los procedimientos de decodificacin de los cdigos
algebraicos. Este captulo se ocupa de estudiar qu estructura tiene esta cla-
se de objetos, cmo se representan sus elementos y qu propiedades poseen.
9.1. Definicin
271
272 Cuerpos finitos
a) a b = 0 a = 0 o b = 0.
[r] = r + p = {r + pn : n }, 0r p1
{0, 1, . . . , p 1}
a + b (a + b) mod p
ab (ab) mod p, a, b {0, 1, . . . , p 1}
+ 0 1 0 1
0 0 1 0 0 0
1 1 0 1 0 1
+ 0 1 2 0 1 2
0 0 1 2 0 0 0 0
1 1 2 0 1 0 1 2
2 2 0 1 2 0 2 1
a(x)b(x) + (x)q(x) = 1.
De tal forma que a(x)b(x) 1 mod (x) y a1 (x) b(x) mod (x) es
el inverso de a(x). Advirtase que es esencial para la existencia de inverso
multiplicativo que (x) sea irreducible.
El nmero de elementos del cuerpo es igual al nmero de polinomios de
grado menor que m con coeficientes de GF(p), es decir, pm .
x3 + x x 9 mod x4 + x + 1 = 9 .
resultado ser, en este caso, races del polinomio (x) que se ha utilizado
para construir el cuerpo, no es sta una propiedad general.
9.3. Estructura
Por ejemplo, el cuerpo complejo es una extensin del cuerpo real, el cual,
a su vez, es una extensin del cuerpo racional. Y todo cuerpo de cardinal
pm es una extensin de GF(p), como se ver a continuacin.
Considrese un cuerpo finito arbitrario, C, de cardinal q. C contiene al
elemento unidad 1. Contiene tambin a la sucesin de elementos 1 + 1 = 2,
1 + 1 + 1 = 3, . . . ; pero, por ser el cuerpo finito, stos no podrn ser todos
distintos entre s. En consecuencia, debe existir el menor entero p q tal
que p = 1 + 1 + + 1(p veces) = 1p = 0, y adems este nmero p debe ser
278 Cuerpos finitos
1j 1k = 1(jk) mod p
1j + 1k = 1(j+k) mod p
0, 1, 1 + 1 = 2, . . . , 1 + + 1 = p 1
e0 0 + e1 1 + + em1 m1 , ej GF(p)
= e0 0 + e1 1 + + em1 m1
= f0 0 + f1 1 + + fm1 m1 , ei , fi GF(p)
A veces puede ser til pensar en este teorema como en un aserto ele-
mental de inexistencia; nos permite afirmar, por ejemplo, que no es posible
tener un cuerpo con 6 elementos.
Puesto que GF(pm ) es un espacio vectorial, se dispone de inmediato de la
siguiente caracterizacin de su grupo aditivo, que muestra que la estructura
aditiva de un cuerpo finito es esencialmente la de su subcuerpo primo.
: (C, +) ( /p , +) ( /p , +)
(1 )(2 ) (q1 ) = q1 1 2 q1 = 1 2 q1
Por tanto, como consecuencia de este teorema y del lema 9.4, se tiene
que, en un cuerpo de caracterstica q, los elementos y q tienen igual
orden. Si en un cuerpo de cardinal q existiese un elemento de orden q 1,
entonces al subgrupo multiplicativo
Fq = {, 2 , . . . , q1 = 1}
posee un nmero de elementos que divide al nmero de elementos de G. Para probar tal
cosa, basta con definir los cogrupos a H, a G, que tienen cada uno tantos elementos
como H y forman una particin de G.
C. Lpez, M. Veiga. Teora de la Informacin y Codificacin 281
elemento tal que todos los dems son, con notacin multiplicativa, una
potencia suya, se llama a elemento generador del grupo, y se dice de ste
que es un grupo cclico. Un elemento de un cuerpo con la propiedad de que
sus potencias engendran todos los dems elementos distintos de cero recibe
el nombre de elemento primitivo (vase de nuevo el ejemplo 9.2). Pues bien,
en todo cuerpo finito hay al menos un elemento primitivo; o, por expresarlo
de otra forma, (C , ), el conjunto de elementos del cuerpo distintos de cero,
es siempre un grupo multiplicativo cclico.
Teorema 9.9.
Demostracin.
P
La identidad t|q1 (t) = q 1 es un caso particular de un teorema
debido
P a Gauss que afirma que para cualquier entero m se cumple que
t|m (t) = m.
Demostracin.
GF(230 )
GF(23 )
GF(22 ) GF(25 )
GF(2)
(a + b)p = ap + bp .
La aplicacin
p : GF(pm ) GF(pm )
p
Demostracin. Si
n
X
Q(x) = q i xi , qi GF(p)
i=0
2 x4 + x + 1 10 x2 + x + 1
3 x4 + x 3 + x 2 + x + 1 11 x4 + x 3 + 1
4 x4 + x + 1 12 x4 + x 3 + x 2 + x + 1
5 x2 + x + 1 13 x4 + x 3 + 1
6 x4 + x 3 + x 2 + x + 1 14 x4 + x 3 + 1
Demostracin.
m
es la nica descomposicin de xp x en factores irreducibles sobre Fp [x];
acontece siempre, en suma, que dos cuerpos del mismo cardinal tienen el
mismo conjunto de polinomios mnimos.
Pero C1 puede interpretarse como el conjunto de polinomios de grado
menor que m en la indeterminada , o como el conjunto de polinomios de
Fp [x] mdulo M (x). De manera anloga, C2 incluye (y, por lo tanto, es) el
conjunto de polinomios de grado menor que m en la indeterminada . La
transformacin es, obviamente, un isomorfismo entre C1 y C2 .
9.5. Factorizacin de xn 1
t1
ello implica que , q , ..., q son elementos conjugados.
y {0 }, {1 , 2 , 4 , 8 }, {3 , 6 , 12 , 9 }, {5 , 10 }, {7 , 14 , 13 , 11 } son
las clases de elementos conjugados de GF(16) ( un elemento primitivo) con
rdenes respectivos 1, 15, 5, 3 y 15. Los conjuntos ciclotmicos de 2 mdulo
31 son:
B0 = {0}
B1 = {1, 2, 4, 8, 16}
B3 = {3, 6, 12, 24, 17}
B5 = {5, 10, 20, 9, 18}
B7 = {7, 14, 28, 25, 19}
B11 = {11, 22, 13, 26, 21}
B15 = {15, 30, 29, 27, 23}
Teorema 9.20. Sea GF(q s ) una extensin de GF(q) y sea una raz pri-
mitiva n-sima en GF(q s ).
Demostracin.
Q
a) Se probar en primer lugar que iAr (x i ) es un polinomio con
coeficientes en GF(q).
w1
r rq
Supngase que el conjunto ciclotmico . . . , rq
Q Ar = {i , P, w }
tiene w elementos. Los coeficientes de iAr (x ) = j=0 aj xj son
w1
las funciones elementales simtricas de los elementos r , . . . , rq .
Explcitamente
w1
a0 = (r ) (rq )
w1
X k
a1 = (1) rq
k=0
..
.
X
aj = (1)j i 1 i j , i1 , . . . , ij {r, rq, . . . , rq w1 }
i1 6=i2 6=6=ij
..
.
aw = 1
Esto es, para j < w, el coeficiente aj es la suma de productos de la
forma i1 i2 ij , recorriendo todas las combinaciones de j expo-
nentes i1 , . . . , ij del conjunto ciclotmico Ar , distintos entre s. Ahora
bien, 0 0
(i1 i2 ij )q = qi1 qij = i1 ij
en donde {i01 , . . . , i0j } es una permutacin de {i1 , . . . , ij }. As pues,
aqj = aj para j = 0, . . . , w, lo que significa que aj GF(q).
Q
Para probar que iAr (x i ) es el polinomio mnimo de r , es
suficiente observar que ningn otro polinomio mnico de menor grado
se anula en r y en todos sus conjugados.
C. Lpez, M. Veiga. Teora de la Informacin y Codificacin 293
b) Es obvio que
Y Y Y Y
xn 1 = (x i ) = (x i ) = Mj (x)
ij Aj j iAj j
m
Habiendo observado que xp x es el producto de todos los polinomios
mnimos del cuerpo GF(pm ) sobre Fp [x], y recordando que estos polinomios
mnimos son siempre irreducibles y de grado menor o igual que m, cabra
m
preguntarse qu polinomios irreducibles sobre Fp [x] dividen a xp x? La
respuesta es que son todos los polinomios mnicos irreducibles cuyo grado
m
es un divisor de m. As que la descomposicin de xp x que se acaba de
deducir sirve no slo para calcular los polinomios mnimos, sino tambin
para calcular de paso todos los posibles polinomios irreducibles de cierto
grado.
M0 (x) = x + 1 M7 (x) = x5 + x3 + x2 + x + 1
M1 (x) = x5 + x2 + 1 M11 (x) = x5 + x4 + x3 + x + 1
M3 (x) = x5 + x4 + x3 + x2 + 1 M15 (x) = x5 + x3 + 1
M5 (x) = x5 + x4 + x2 + x + 1
Entonces
Observe que, como 5 es un nmero primo, los factores de x32 x slo pueden
tener grado 1 o grado 5, y GF(2) es el nico subcuerpo de GF(25 ). Observe
tambin que x5 + x2 + 1 y x5 + x3 + 1 son recprocos, en el sentido de que los
coeficientes de uno son los del otro escritos en sentido inverso. La relacin
algebraica general entre un polinomio p(x) y su recproco pr (x) es
que expresa que las races del polinomio recproco son, aparte del cero, los
inversos de las races de p(x). En el caso presente, tambin son recprocos
los factores M3 (x) y M7 (x), as como M5 (x) y M11 (x).
Ip (m) 1 m, p.
pm p
pm p + mIp (m) Ip (m)
m
C. Lpez, M. Veiga. Teora de la Informacin y Codificacin 295
es decir, que
pm pm/2+1 pm
Ip (m) > = 1 pm/2+1
m m
y que Ip (m) > 0 para cualquier m 2. Puesto que ya se dedujo que tanto
Ip (1) como Ip (2) son no nulos, el teorema queda probado.
Teorema 9.24.
Y
1 Ip (m)
(1 pz) = (1 z m ) .
m=1
Notas bibliogrficas
Conjuntos Polinomio
+ ciclotmicos mnimo
00 0
01 1 {0} x+1
10 {1, 2} x2 + x + 1
11 2
Conjuntos Polinomio
+ + ciclotmicos mnimo
000 0 011 3
001 1 110 4 {0} x+1
010 111 5 {1, 2, 4} x3 + x + 1
100 2 101 6 {3, 6, 5} x 3 + x2 + 1
Conjuntos Polinomio
+ + ciclotmicos mnimo
0000 0 1011 7
0001 1 0101 8
0010 1010 9 {0} x+1
0100 2 0111 10 {1, 2, 4, 8} x4 + x + 1
1000 3 1110 11 {3, 6, 12, 9} x 4 + x3 + x2 + x + 1
0011 4 1111 12 {5, 10} x2 + x + 1
0110 5 1101 13 {7, 14, 13, 11} x 4 + x3 + 1
1100 6 1001 14
Conjuntos Polinomio
+ + ciclotmicos mnimo
00000 0 11111 15
00001 1 11011 16
00010 10011 17
00100 2 00011 18
01000 3 00110 19
10000 4 01100 20 {0} x+1
00101 5 11000 21 {1, 2, 4, 8, 16} x 5 + x2 + 1
01010 6 10101 22 {3, 6, 12, 24, 17} x 5 + x4 + x3 + x2 + 1
10100 7 01111 23 {5, 10, 20, 9, 18} x 5 + x4 + x2 + x + 1
01101 8 11110 24 {7, 14, 28, 25, 19} x 5 + x3 + x2 + x + 1
11010 9 11001 25 {11, 22, 13, 26, 21} x 5 + x4 + x3 + x + 1
10001 10 10111 26 {15, 30, 29, 27, 23} x 5 + x3 + 1
00111 11 01011 27
01110 12 10110 28
11100 13 01001 29
11101 14 10010 30
Conjuntos
+ + + + ciclotmicos
00 0 50 15 45 31 47 47
01 1 23 16 11 32 15 48 {0}
02 46 17 22 33 32 49 {1, 2, 4, 8, 16, 32}
04 2 17 18 44 34 64 50 {3, 6, 12, 24, 48, 33}
10 3 36 19 13 35 53 51 {5, 10, 20, 40, 17, 34}
20 4 74 20 26 36 25 52 {7, 14, 28, 56, 49, 35}
40 5 73 21 54 37 52 53 {9, 18, 36}
03 6 65 22 33 38 27 54 {11, 22, 44, 25, 50, 37}
06 7 51 23 66 39 56 55 {13, 26, 52, 41, 19, 38}
14 8 21 24 57 40 37 56 {15, 30, 60, 57, 51, 39}
30 9 42 25 35 41 76 57 {21, 42}
60 10 07 26 72 42 77 58 {23, 46, 29, 58, 53, 43}
43 11 16 27 67 43 75 59 {27, 54, 45}
05 12 34 28 55 44 71 60 {31, 62, 61, 59, 55, 47}
12 13 70 29 31 45 61 61
24 14 63 30 62 46 41 62
Polinomios mnimos
M0 (x) = x + 1 M13 (x) = x6 + x4 + x3 + x + 1
M (x) = x6 + x + 1 M15 (x) = x6 + x5 + x4 + x2 + 1
M3 (x) = x6 + x4 + x2 + x + 1 M23 (x) = x6 + x5 + x4 + x + 1
M5 (x) = x6 + x5 + x2 + x + 1 M21 (x) = x2 + x + 1
M7 (x) = x6 + x3 + 1 M27 (x) = x3 + x + 1
M9 (x) = x3 + x2 + 1 M31 (x) = x6 + x5 + 1
M11 (x) = x6 + x5 + x3 + x2 + 1
+ + + + +
25 51 77 103
000 0 065 037 047 007
001 1 152 26 076 52 116 78 016 104
002 135 27 174 53 025 79 034 105
004 2 063 28 161 54 052 80 070 106
010 3 146 29 153 55 124 81 160 107
020 4 105 30 137 56 041 82 151 108
040 5 003 31 067 57 102 83 133 109
100 6 006 32 156 58 015 84 077 110
011 7 014 33 125 59 032 85 176 111
022 8 030 34 043 60 064 86 165 112
044 9 060 35 106 61 150 87 143 113
110 9 140 36 005 62 131 88 117 114
031 10 111 37 012 63 073 89 027 115
062 11 033 38 024 64 166 90 056 116
144 13 066 39 050 65 145 91 134 117
101 14 154 40 120 66 103 92 061 118
013 15 121 41 051 67 017 93 142 119
026 16 053 42 122 68 036 94 115 120
054 17 126 43 055 69 074 95 023 121
130 18 045 44 132 70 170 96 046 122
071 19 112 45 075 71 171 97 114 123
162 20 035 46 172 72 173 98 021 124
155 21 072 47 175 73 177 99 042 125
123 22 164 48 163 74 167 100 104 126
057 23 141 49 157 75 147 101
136 24 113 50 127 76 107 102
Cdigos BCH
303
304 Cdigos BCH
Comencemos por recordar que las races n-simas de la unidad son todas
las soluciones de la ecuacin algebraica xn 1 = 0, y que constituyen un
subgrupo cclico de cierto cuerpo q m = GF(q m ), subgrupo cuyo elemento
generador se llama raz primitiva n-sima de la unidad. A lo largo de este
captulo, el smbolo se referir siempre a una raz primitiva n-sima de la
unidad, y se supondr que q y n son coprimos, es decir, mcd(q, n) = 1.
b , b+1 , . . . , b+2 , b 0, 1
Como el mayor cdigo cclico es, para una longitud dada, aqul de menor
nmero de smbolos de redundancia, se puede formular esta otra definicin
equivalente.
A0 = {0} M0 (x) = x + 1
A1 = {1, 2, 4, 8, 16} M1 (x) = x5 + x2 + 1
A3 = {3, 6, 12, 17, 24} M3 (x) = x5 + x4 + x3 + x2 + 1
A5 = {5, 9, 10, 18, 20} M5 (x) = x5 + x4 + x2 + x + 1
A7 = {7, 14, 19, 25, 28} M7 (x) = x5 + x3 + x2 + x + 1
A11 = {11, 13, 21, 22, 26}M11 (x) = x5 + x4 + x3 + x + 1
A15 = {15, 23, 27, 29, 30}M15 (x) = x5 + x3 + 1.
debera ser nulo. Ahora bien, sacando factor comn bi1 en la primera co-
lumna, bi2 en la segunda, ..., bir en la ltima, el determinante de A vale
1 1 ... 1
i 1 i 2 ... ir
det A = b(i1 +i2 ++ir ) det
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
(r1)i1 (r1)i2 . . . (r1)ir
= b(i1 +i2 ++ir ) det Vr .
y que es distinto de cero por ser todas las potencias de distintas entre s.
Esta conclusin es incompatible con la premisa de existencia de un vector
del cdigo con peso menor que , como se quera probar.
M3 (x) = x4 + x3 + x2 + x + 1,
por supuesto irreducible y sin factores en comn con M (x). Luego el poli-
nomio producto de ambos
cumple con todas las condiciones exigibles para poder afirmar de l que
engendra un cdigo cclico binario [15, 7] capaz de corregir dos errores. Sus
polinomios v(x) son aqullos y slo aqullos que satisfacen v() = v(2 ) =
v(3 ) = v(4 ) = 0. Pero, como v(2 ) = v 2 () en cualquier cuerpo de
caracterstica 2, entonces v(4 ) = v(2 ) = 0 v() = 0, y las ecuaciones
v(4 ) = v(2 ) = 0 son redundantes. O, lo que es igual, si el polinomio del
cdigo admite una raz , entonces tambin sern races suyas los elementos
conjugados de . Por tanto, las dos nicas ecuaciones de comprobacin de
paridad son v() = v(3 ) = 0, esto es, v H T = 0 operando en el cuerpo
24 . En esta expresin, la matriz H de comprobacin de paridad es
14 13 12 11 10 9 8 7 6 5 4 3 2 1
.
12 9 6 3 1 12 9 6 3 1 12 9 6 3 1
Distancia Polinomio
n de diseo generador (k, d)
1 1 (7, 1)
7 3 x3 + x + 1 (4, 3)
5,7 (x3 + x + 1)(x3 + x2 + 1) (1, 7)
1 1 (15, 1)
3 g1 (x) = x4 + x + 1 (11, 3)
15 5 g2 (x) = g1 (x)(x4 + x3 + x2 + x + 1) (7, 5)
7 g3 (x) = g2 (x)(x2 + x + 1) (5, 7)
9, 11, 13, 15 g4 (x) = g3 (x)(x4 + x3 + 1) (1, 15)
1 1 (31, 1)
3 g1 (x) = x5 + x2 + 1 (26, 3)
5 g2 (x) = g1 (x)(x5 + x4 + x3 + x2 + 1) (21, 5)
31 7 g3 (x) = g2 (x)(x5 + x4 + x2 + x + 1 (16, 7)
9, 11 g4 (x) = g3 (x)(x5 + x3 + x2 + x + 1) (11, 11)
13, 15 g5 (x) = g4 (x)(x5 + x4 + x3 + x + 1) (6, 15)
17, 19, ..., 31 g6 (x) = g5 (x)(x5 + x3 + 1) (1, 31)
Ejemplo 10.5. La tabla 10.1 clasifica los posibles cdigos BCH binarios
primitivos de longitudes 7, 15 y 31, junto con su dimensin y su distancia.
El cdigo [7, 4, 3] es H3 , y el [7, 1, 7] es un simple cdigo de repeticin.
Entonces, a tenor del teorema 10.1, la distancia real del cdigo es como
mnimo su distancia de Bose, y puede en ciertos casos ser mayor que sta.
C. Lpez, M. Veiga. Teora de la Informacin y Codificacin 315
g(x) = x11 + x9 + x7 + x6 + x5 + x + 1
ceros {i | i {1, 2, 4, 8, 16, 9, 18, 13, 3, 6, 12}} = {i | i A1 } y dimensin
12. Su distancia de Bose es 5, pero no es difcil probar que se trata de
un cdigo equivalente del Golay(23, 12), cuya distancia es 7. En ocasiones,
conocer la distancia de Bose facilita la tarea de descubrir la distancia mnima
de un cdigo BCH, recurriendo para ello a las proposiciones del prximo
apartado.
En sistemas que requieran una capacidad de correccin de errores mode-
rada en comparacin con la longitud de los mensajes, resultan especialmente
adecuados los cdigos BCH binarios primitivos; para m 3 y t 1, el c-
digo BCH binario de longitud n = 2m 1 y distancia de diseo 2t + 1 es un
cdigo corrector de t errores con parmetros
n = 2m 1
n k mt
dC 2t + 1.
Si, adems, t = 2s 1 para algn s 1, entonces la distancia es exactamente
2t + 1.
De hecho, vamos a mostrar que la distancia de un cdigo BCH binario
y primitivo siempre es impar. Sea C un cdigo BCH primitivo (no necesa-
riamente binario) y Cb el cdigo extendido que se obtiene aadiendo a los
vectores de C un smbolo de paridad, que simbolizaremos como c :
n1
X
b
(cn1 , . . . , c0 ) C (c , cn1 , . . . , c0 ) C, c = ci .
i=0
i ai + b
316 Cdigos BCH
(c , cn1 , . . . , c0 ) Cb (cP 1 ( ) , . . . , cP 1 (0 ) ) C.
b
a,b a,b
X X X k
X k
c0i ik = i k
ci (a + b) = ci al il bkl
l
iI iI iI l=0
k
X X
k l kl
= ab ci il = 0, 0k 1
l
l=0 iI
Por otro lado, la distancia real de un cdigo BCH no puede ser arbitra-
riamente mayor que la distancia de diseo. La siguiente cota superior slo
posee alguna utilidad si y el alfabeto de codificacin son pequeos.
318 Cdigos BCH
t+1 m
X
2 1
= 1 + (2m 1) + (2m 1)(2m1 1) > 2m
i=0
i
y acontece que todo cdigo BCH binario primitivo con distancia de diseo
3 es un cdigo Hamming.
n1 ... ... 1
3(n1) ... ... 3 1
H=
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
(2)(n1) . . . . . . 2 1
2 Con cdigos binarios, este circuito combinacional solamente requiere sumadores bi-
! " $#
+, -.
%* %) %( %' %&
%/ 0132
tiene distancia 7.
Sus sndromes son vectores de tres elementos del cuerpo 25 ; el primer
elemento es R(), en donde R(x) es el resto de dividir la secuencia recibida
(x) entre M (x):
(x) = q1 (x)M (x) + R(x),
y es un elemento primitivo de 25 . Si se escriben, en general, los coefi-
cientes de R(x) como R(x) = R4 x4 + R3 x3 + R2 x2 + R1 x + R0 , entonces
es R() = R4 4 + R3 3 + R2 2 + R1 + R0 . El esquema de la figura 10.1
ilustra el circuito de divisin y el clculo posterior de R().
De la misma manera, si S(x) es el resto de dividir el vector recibido entre
el polinomio mnimo M3 (x),
T (5 ) = T0 +T1 +T2 +T3 +T3 +(T1 +T3 +T4 )2 +(T3 +T4 )3 +(T2 +T3 )4
la cual depende slo del vector de error e, ya que, por definicin de los
cdigos BCH, v(j ) = 0. Pero, por (10.2),
s
X
e(j ) = jik
k=1
Es decir, las componentes del sndrome son una combinacin lineal de las
potencias sucesivas de los elementos Xk . Tal cambio de variables resulta muy
conveniente porque permite ver con facilidad que, a partir de la secuencia
de elementos Xk , es factible localizar las posiciones errneas, pues para
averiguarlas basta con resolver las ecuaciones
Xk = i k , k = 1, . . . , s
igual que t (teorema 10.13). En otro caso, es decir, si s > t, el sistema (10.3)
posee mltiples soluciones. De tal manera que, cuando el canal introduce
t o menos errores, un mtodo para resolver (10.3) es un procedimiento de
decodificacin incompleta del cdigo.
La dificultad de averiguar, cuando exista, la solucin nica de las ecua-
ciones (10.3) estriba en que son no lineales y s es desconocido. Las ecuaciones
presentan, no obstante, una pauta regular reconocible: los segundos miem-
bros son funciones simtricas de suma de potencias con los localizadores Xk ,
para k = 1, . . . , s
S1 = X 1 + X 2 + + X s
S2 = X12 + X22 + + Xs2
..
.
S2t = X12t + X22t + + Xs2t .
L(i )P (i ) = 0, i = 0, . . . , n 1
y L(x) contar entre sus ceros a todas las races n-simas de la unidad, i ,
que no son ceros de P (x): P (i ) 6= 0 L(i ) = 0. Es fcil ver que el
conjunto de todos los polinomios localizadores de uno dado, P (x), forman
un ideal principal de Fq [x]/xn 1, generado por cualquiera de los polinomios
localizadores de menor grado.
De vuelta al problema de la decodificacin de un cdigo BCH binario,
y dado un vector de error (e1 , . . . , en ) de peso s, formemos a partir de l el
polinomio transformado
n1
X
S(x) = S k xk
k=0
326 Cdigos BCH
Ps Ps
con Sk = j=1 eij kij = j=1 kij . Los coeficientes S1 , S2 , . . . , S2t de este
polinomio son conocidos, ya que se trata de las componentes del sndrome
del vector error. Pues bien, se puede demostrar que el polinomio
s
Y
L(x) = (1 Xj x)
j=1
L0 = 1
s
X
L1 = (1) Xj
i=1
X
L2 = (1)2 Xi Xj
i<j
X
L3 = (1)3 Xi Xj Xk (10.4)
i<j<k
..
.
X s
Y
Ls = (1)s Xi1 Xi2 Xis = (1)s Xi
i1 <i2 <<is i=1
S1 + L 1 = 0
S2 + L1 S1 + 2L2 = 0
..................... (10.5)
Ss + L1 Ss1 + + Ls1 S1 + sLs = 0
y
Si + L1 Si1 + + Ls Sis = 0, i > s. (10.6)
= L(z)S(z)
P
aplicando la identidad formal k=0 (Xj z)k = 1/(1 Xj z). Es decir, se tiene
que L(z)S(z) + zL0(z) = 0. Igualando coeficientes de esta expresin, resulta
el conjunto de ecuaciones (10.5)-(10.6).
4 La nocin de lmite carece de sentido en un cuerpo finito.
328 Cdigos BCH
En virtud del teorema 10.12, los coeficientes del sndrome y los del poli-
nomio localizador verifican las ecuaciones (10.7). Aunque s es desconocido,
el teorema siguiente proporciona un mtodo iterativo para resolverlas. B-
sicamente, muestra que existe una submatriz de sndromes regular si se
producen menos de t errores de transmisin.
Demostracin.
a) Si
Qss < r 1 y L1 , . . . , Lr2 son los coeficientes del polinomio L(x) =
i=1 (1 xXi ), entonces
T
Ar 0 1 L1 . . . Lr2 = 0
en virtud de las ecuaciones de Newton (10.7), de modo que Ar es
singular.
C. Lpez, M. Veiga. Teora de la Informacin y Codificacin 329
Ps2
b) Si s = r y fijamos Xi = Xj para algn i 6= j, entonces Sj = k=1 Xkj
(la caracterstica del cuerpo es 2), y, por el apartado anterior, Ar sera
singular. Por tanto,
Y
det Ar = K (Xi + Xj )
i<j
L1 = S 1
L1 = S 1
S3
L2 = + S12
S1
L1 = S 1
S12 S3 + S5
L2 =
S13 + S3
L3 = (S13 + S3 ) + S1 L2
C. Lpez, M. Veiga. Teora de la Informacin y Codificacin 331
Como su solucin es
L1 = S 1
S3 S3
L2 = + S2 = + S12
S1 S1
el polinomio localizador de errores vale
S3
L(x) = + S12 x2 + S1 x + 1
S1
es singular.
332 Cdigos BCH
S1 = vb() = 15
S2 = vb(2 ) = 30 = S12
S3 = vb(3 ) = 5
S4 = vb(4 ) = 29 = S22
S5 = vb(5 ) = 15
S6 = vb(6 ) = 10 = S32 .
La matriz de sndromes
1 0 0
A3 = 30 15 1
29 5 30
L(x) = 1 + 15 x + 2 x2 + 27 x3 .
e(x) = x16 + x7 + x4 .
el polinomio sndrome, del que slo son conocidos en recepcin los coeficien-
tes de los trminos de grado no superior a 2t. El producto de 1 + S(x) por
el polinomio localizador de errores vale
V (x) = 1 + S(x) L(x)
= (1 + S1 x + S2 x2 + )(1 + L1 x + + Ls xs )
= 1 + (S1 + L1 )x + (S2 + L1 S1 + L2 )x2 +
Pero, como los coeficientes del polinomio sndrome y del localizador sa-
tisfacen las identidades de Newton (10.5), entonces los coeficientes impares
de V (x) son nulos. Puesto que solamente S1 , . . . , S2t son conocidos y se re-
quieren L1 , , Ls , el problema de la decodificacin equivale a encontrar
dos polinomios L(x) y V (x), de grado menor o igual que t, que verifiquen
1 + S(x) L(x) (1 + V2 x2 + V4 x4 + + V2t x2t ) V (x2 ) mod x2t+1 .
b) Calcular
(
x2 T2k (x) si 2k = 0 o grado(L2k (x)) > k
T2k+2 (x) = 1
2k xL2k (x) si 2k 6= 0 y grado(L2k (x)) k
e(x) = x14 + 1.
y el polinomio sndrome
S(x) = 1 + 3 x + 6 x2 + 11 x3 + 12 x4 +
!#"
L(x) = 1 + 3 x + (3 + 1)x2
L(1) = 3 + 1 + 3 + 1 = 0.
336 Cdigos BCH
Notas bibliogrficas
Cdigos ReedSolomon
337
338 Cdigos ReedSolomon
11.1. Definicin
Normalmente se elige b = 0 o b = 1.
Z = {j : nj 6 Z}.
1 Luego un cdigo binario es par si est compuesto slo por vectores de peso Hamming
par.
C. Lpez, M. Veiga. Teora de la Informacin y Codificacin 339
v = (ck1 , ck2 , . . . , c0 ) G.
dC n k + 1
para P (x) un polinomio cualquiera de grado inferior a k en q . Tales cdigos son lineales
pero no cclicos. Generalicemos esta situacin como sigue. Sea X un objeto geomtrico
cualquiera que contiene a una familia finita de puntos P = {p1 , . . . , pn } (por ejemplo, la
recta afn X = q y los puntos P = q ). Sea L un espacio lineal de funciones de P en
q , como por ejemplo L = Fq [x]. El conjunto C = {((p1 ), (p2 ), . . . , (pn )), L} es
un cdigo lineal. Esta es precisamente la forma en que se definen los cdigos algebraico
geomtricos. Los casos ms interesantes (y menos triviales) se obtienen al tomar una
curva o una superficie plana para X .
C. Lpez, M. Veiga. Teora de la Informacin y Codificacin 341
nh1
X
nh j1
(1)md
md
=m+d
nh1
= Jm+d,n+h (1)nh1(m+d)
n h (m + d)
n h 1
= 1 (1)nh1(m+d) .
n h (m + d)
Tendremos as
nhd1
X
n kh n
Anh = (q 1) (q 1) qm
h h m=0
nhd1
X
n nh1
+ (q 1) (1)nh(m+d) qm .
h m=0
n h (m + d)
y por tanto
nhd
X
n nh1
Anh = (q 1) (1)nh(m+d) qm .
h m=0
n h (m + d)
a) Si k 2, entonces dC = n k + 1 q.
b) Si k n 2, entonces k + 1 q.
Demostracin.
C. Lpez, M. Veiga. Teora de la Informacin y Codificacin 345
3 6 2 5 4 1
000 10 2 0 2 0 01 102 12 2 1
02 111 2 10 02 1 12 01 2 2 2 .
346 Cdigos ReedSolomon
11.2.1. Extensin
debe ser a(1) = 0. Pero, en este caso, c(x) sera un mltiplo de (x 1)g(x),
y, por la cota de distancia BCH, el peso de c(x) sera mayor o igual que
n k + 2.
Se sabe que existen cdigos MDS cclicos sobre q con los mismos pa-
rmetros que un cdigo RS doblemente extendido. Y que existen cdigos
MDS [2m + 2, 3] y [2m + 2, 2m 1] que se obtienen por una extensin triple
de un RS.
348 Cdigos ReedSolomon
0000 102 2 01 2 01
2 2 2
01 10 01 2 10
2 2 2
0 1 1 0 1 0 2 10
2 2 2 2 2
0 1 1111 .
11.2.2. Puncin
00 0 2 0 0 1 02 12 1
2 11 10 2 1 2 01 2 2
que es sencillamente 4 4.
Ejemplo 11.6.
A pesar de lo que sugiere este ejemplo, se puede probar que, si se fija una
tasa k/n constante, la distancia dm de los cdigos binarios [(m + 1)(2m
1), km] as construidos no es una fraccin constante de la longitud sino que,
en realidad,
dm
lm = 0,
m (m + 1)(2m 1)
(s 2)m + 2 r (s 1)m + 1.
digamos las de los smbolos yi0 , yi1 , . . . , yik1 , admiten solucin nica, pues-
to que su matriz de coeficientes es de Vandermonde y no singular. Existen
n
k subsistemas diferentes de k ecuaciones y, en ausencia de errores de trans-
misin, todos proporcionan como solucin los smbolos (mk1 , . . . , m0 ) del
mensaje transmitido.
Supongamos, sin embargo, que se hubiesen producido t b(n k)/2c
errores de transmisin. En tal caso, el vector (mk1 , . . . , m0 ) ser la solucin
de cualquier conjunto de k ecuaciones tomadas de entre las n t coorde-
nadas correctas de y, esto es, de nt k subsistemas; en tanto que cualquier
otro vector distinto de (mk1 , . . . , m0 ) slo podr ser solucin, a lo sumo, de
aquellos subsistemas en los que al menos una de las ecuaciones corresponde
a alguna de las t coordenadas con error, esto es, de t+k1 k subsistemas. Si
por cada una de las soluciones x de los subsistemas k k se anota un voto
favorable al vector x, entonces el razonamiento que se acaba de exponer per-
mite afirmar que (mk1 , . . . , m0 ) recibe nt k votos, mientras que cualquier
otro vector distinto obtiene, en el mejor de los casos, t+k1 k votos. Y como
n t t + k 1, resulta obvio que el mensaje transmitido (mk1 , . . . , m0 )
recibe siempre ms votos que ningn otro vector candidato. Pero, si bien
una estrategia de decodificacin por mayora es perfectamente vlida para
corregir cualquier patrn de b(n k)/2c o menos errores con un cdigo RS,
este mtodo de decodificacin
presenta un inters meramente terico ya que
exige la resolucin de nk sistemas lineales en el cuerpo base.
confusin con la notacin de los elementos localizadores. b) Esta forma del polinomio
error no significa que el canal tenga que transmitir smbolos no binarios; es slo el pro-
cedimiento de decodificacin el que se realiza con aritmtica no binaria para beneficiarse
de la estructura polinmica de los cdigos.
C. Lpez, M. Veiga. Teora de la Informacin y Codificacin 353
que es igual a
siendo V la matriz
1 1 ... 1
X1 X2 ... Xm
V = .. ..
. .
X1m1 X2m1 m1
. . . Xm
B. Algoritmo de Forney
Pues bien, E(z) es conocido una vez que se conocen S(z) y L(z).
Xw Xw X
E(z) zei Xi
=1+ =1+ ei (zXi )j = 1 + S(z) mod z 2t+1 .
L(z) i=1
1 zX i i=1 j=1
Algoritmo de PetersonGorensteinZierler
4. Hallar las races del polinomio localizador: si son todas simples, dis-
tintas y pertenecientes a q , continuar; en otro caso, sealar un error
de decodificacin.
e(z) = z 2 + 3 z
y se recibe el vector
r(z) = z 4 + 13 z 3 + 11 z 2 + 10 .
y el evaluador
E(z) = L(z) + z3 (1 z) + z4 (1 2 z) = 1 + 13 z + 10 z 2 .
S1 = r() = e() = 7
S2 = r(2 ) = e(2 ) = 0
S3 = r(3 ) = e(3 ) = 10
S4 = r(4 ) = e(4 ) = 1
es decir,
0 7 L1 10
=
10 0 L2 1
de donde se obtiene L1 = 5 y L2 = 3 . El polinomio evaluador que calcula
el decodificador valdr, entonces,
E(z) = 1 + S(z) (1 + L1 z + L2 z 2 ) = 1 + 13 z + 10 z 2 +
2 E(2 )
e1 = =
5
E(1 )
e2 = = 3
5
se llega a los valores correctos de las magnitudes de error.
g(z) = 6 + 9 z + 6 z 2 + 4 z 3 + 14 z 4 + 10 z 5 + z 6 .
y(z) = ( + 3 z)g(z) + 1 + z + 2 z 2 + 3 z 3 + 4 z 4
360 Cdigos ReedSolomon
S1 = y() = 12 S2 = y(2 ) = 0
S3 = y(3 ) = 9 S4 = y(4 ) = 10
S5 = y(5 ) = 0 S6 = y(6 ) = .
es decir 10
9 0 12 L1
10 9 0 L 2 = 0
0 10 9 L3
cuya nica solucin es (L1 , L2 , L3 ) = (13 , 14 , 9 ), de modo que el polino-
mio localizador de errores valdr
L(z) = 1 + 13 z + 14 z 2 + 4 z 3 .
Algoritmo de BerlekampMassey
Sin nimo de pretender una justificacin rigurosa del mtodo (cosa que
el lector puede hallar en el apndice 11.B de este captulo), stos son los
pasos a seguir para decodificar un cdigo BCH no binario con distancia de
diseo 2t + 1:
Mi = i (i Mi1 ) + (1 i )Mi1
(i) (i1)
L (z) 1 i z L (z)
=
T (i) (z) 1
i i (1 i )z T (i1) (z)
con i = 1 si i 6= 0 y 2Mi1 i 1, y i = 0 en otro caso.
c) si i < 2t, volver al paso (b)
3. Hallar las races de L(x) = L(2t) (x); si no son simples, distintas o no
pertenecen al cuerpo, sealar fallo en la decodificacin.
4. Obtener el polinomio evaluador de errores con la ecuacin (11.9).
5. Determinar la magnitud de los errores.
con las condiciones iniciales A(0) (z) = 0 y E (0) (z) = 1. Tras 2t iteraciones,
E(z) = E (2t) (z) es el polinomio buscado.
En cuanto a la complejidad de los mtodos de decodificacin algebraica,
se debe observar que el paso crucial es la obtencin del polinomio localizador
a partir del polinomio sndrome. Mientras que el algoritmo de Peterson
GorensteinZierler resuelve, para ello, un sistema de t ecuaciones lineales y
requiere O(t3 ) operaciones, el de BerlekampMassey aplica una recurrencia
lineal que termina en 2t iteraciones y requiere solamente operaciones de
suma y multiplicacin en q . Son, en el peor de los casos, 2t multiplicaciones
por iteracin para actualizar la matriz y no ms de t multiplicaciones por
iteracin para calcular la discrepancia i . Por tanto, el algoritmo precisa un
mximo de 6t2 multiplicaciones. Para hallar las magnitudes de error se puede
resolver un nuevo sistema lineal de ecuaciones o aplicar la frmula de Forney.
Se prefiere la frmula de Forney porque el algoritmo de BerlekampMassey
se puede modificar sin incremento de su complejidad para que produzca
directamente, adems del polinomio localizador, el polinomio evaluador. Un
C. Lpez, M. Veiga. Teora de la Informacin y Codificacin 363
que sirve asimismo para la decodificacin de los cdigos Goppa, una clase
que incluye a los BCH.
El punto de partida es la ecuacin clave de decodificacin, (11.9), que
implica la existencia de un polinomio Q(z) tal que
1 + S(z) L(z) + Q(z)z 2t+1 = E(z). (11.12)
verifican
(1)i Ui (z)0 (z) Vi (z)1 (z) = i (z).
Escribiendo la recurrencia
Vea, entonces, a partir de esta ltima expresin para i (z), que si identi-
ficamos 1 (z) = z 2t+1 y 0 (z) = 1 + S(z), el algoritmo de divisin eucldeo
genera soluciones sucesivas de la ecuacin (11.12). Por consiguiente, para
obtener el polinomio localizador L(z) basta iterar hasta que el grado de
i (z) sea menor o igual que t.
He aqu entonces las instrucciones para hallar E(z) y L(z) a partir de
S(z).
Algoritmo de Sugiyama
1. Iterar el algoritmo
Ps de divisin eucldeo para 1 (z) = z 2t+1 y 0 (z) =
j
1 + S(z) = 1 + j=1 Sj z hasta alcanzar un resto k (z) tal que
grado k1 (z) > t grado k (x) t.
g(z) = z 4 + 13 z 3 + 6 z 2 + 3 z + 10
L(z) = (1 5 z)(1 2 z) = 1 + z + 7 z 2
E(z) = L(z) + 8 z(1 2 z) + 9 z(1 5 z) = 1 + 13 z + 8 z 2 .
Lema 11.16.
+1 k 2
N1,k () = +1 > .
k 2 k 2k
Demostracin.
b/kc
X
N1,k () = {i, j 0 : i + jk } = ( jk + 1)
j=0
k
= +1 +1 +1
k 2 k
+1 k +1
= +1
k 2 k
q [x, y] no es posible separar del mismo modo las races, pero s se mantiene
la propiedad de desplazamiento, en el sentido de que A(x + , y + ) no
contiene ningn monomio de grado inferior a la multiplicidad de (, ).
En el problema de la decodificacin de cdigos Reed-Solomon, si han
ocurrido errores de transmisin e yi 6= f (i ) para algn 1 i n, un poli-
nomio de interpolacin en dos variables que pase por todos los puntos de D
tendr la forma a(x, y) = p(x, y)(y f (x)) en donde p(j , f (j )) = 0 para
todas las coordenadas j en donde se haya producido error y f (x) sera un
polinomio del cdigo. Por tanto, si se pudiese calcular a(x, y), sus factores
de la forma y f (x) permitiran identificar cierto nmero de palabras del
cdigo entre las que puede hallarse el vector transmitido. El algoritmo de
Sudan-Guruswami resuelve precisamente estos dos pasos, imponiendo al-
gunas condiciones al polinomio a(x, y) para garantizar la correccin de los
errores.
Algoritmo de Sudan-Guruswami
Lema 11.18. Sean m, t y tres enteros positivos tales que mt > y sea
p(x, y) q [x, y] tal que (i , yi ) es una raz suya con multiplicidad al menos
m, para 1 i n. Supngase que el grado ponderado-(1, k 1) de p(x, y)
no es mayor que . En estas condiciones, si f (x) es un polinomio de q [x]
con grado menor que k que cumple yi = f (i ) para al menos t ndices de
{1, 2, . . . , n} entonces y f (x) es factor de p(x, y).
nm(m + 1)
N1,k1 ( 1) .
2
Pero N1,k1 ( 1) > 2 /2(k 1) > 2 /2k y por tanto
2 nm(m + 1)
2k 2
y r
k m+1
n
m n m
372 Cdigos ReedSolomon
o lo que es igual
r
t m+1
>1 R .
n m
Observe que, segn este teorema, t/n > 1 R si m . Sin embargo,
aumentar m rpidamente incrementa el nmero de ecuaciones que es preciso
resolver para hallar p(x, y).
En la literatura tcnica se pueden encontrar varios algoritmos computa-
cionalmente eficientes para los pasos de interpolacin y factorizacin necesa-
rios en el algoritmo de Sudan-Guruswami. Ms an, estos algoritmos poseen
complejidad polinmica, de donde se desprende que la decodificacin por lis-
ta tambin. Otra ventaja adicional de esta estrategia de decodificacin es
que se puede aplicar a cierta clase de cdigos BCH, a los cdigos algebraico-
geomtricos y a los cdigos Reed-Solomon generalizados que definiremos en
el apartado 11.7. Por ltimo, el algoritmo ha sido extendido al caso de la
decodificacin soft [36].
Ejemplo 11.11. El cdigo RS-[255, 144, 112] sobre 256 tiene una capacidad
de correccin de 55 errores. Si fijamos m = 1 el algoritmo de Sudan puede
corregir hasta 55 errores. A medida que m aumenta lo hace igualmente
la capacidad de correccin del algoritmo de Sudan, segn refiere la tabla
adjunta, en la que no se han indicado los valores intermedios de m para los
que no vara el nmero de errores corregibles.
m e Densidad
1 200 55 3,71 1079
2 398 56 3,38 1076
3 592 58 2,62 1070
4 782 60 1,86 1064
6 1164 61 1,51 1061
7 1357 62 1,21 1058
12 2314 63 9,45 1056
s
X b
X
Sj = r(j ) = ei Xij + fi Yij j = 1, . . . , 2t
i=1 i=1
X
s b
X
ei zXi fi zYi
E(z) = L(z)(z) 1 + +
i=1
1 Xi z i=1 1 Yi z
que recibe tal nombre a causa de estas dos sencillas propiedades que revelan
de qu manera se pueden recuperar las magnitudes de los smbolos errneos
y de los smbolos borrados:
Y
E(Xj1 ) = (Xj1 )ej 1 Xi Xj1 , j = 1, . . . , s
i6=j
Y
E(Yj1 ) = L(Yj1 )fj 1 Yi Yj1 , j = 1, . . . , s.
i6=j
Mi = (i Mi1 b) + (1 )Mi1
(i)
(i1)
L (z) 1 i z L (z)
=
T (i) (z) 1
i (1 )z T (i1)
(z)
E(Xi1 ) E(Xi1 )
ei = Q = X i
(Xi1 ) j6=i (1 Xj Xi1 ) (Xi1 )L0 (Xi1 )
E(Xi1 )
= Xi , i = 1, . . . , s
0 (Xi1 )
E(Yi1 ) E(Yi1 )
fi = 1 Q = Yi
L(Xi ) j6=i (1 Yj Yi1 ) L(Yi1 ) 0 (Yi1 )
E(Y 1 )
= Xi 0 i 1 , i = 1, . . . , b
(Yi )
siendo Fk [x] el conjunto de los polinomios de grado menor que k con coefi-
cientes en q .
Puesto que P (x) Fk [x] slo puede tener, como mximo, k 1 races
en q , cualquier palabra de RSGk (, ) tendr al menos n k + 1 elemen-
tos no nulos. Por tanto, en virtud de la cota de Singleton, la distancia de
RSGk (, ) es n k + 1 y los cdigos RS generalizados son cdigos MDS.
Obviamente, si y son dos vectores de ( q )n proporcionales, los c-
digos RSGk (, ) y RSGk (, ) son equivalentes. La familia de cdigos RS
son sencillamente RSGk (, ) cuando i = 1 y i = i , para i = 0, . . . , n1,
con una raz primitiva n-sima de la unidad y n = q 1.
Demostraremos seguidamente que el dual de un cdigo RS generalizado
es otro cdigo RS generalizado, definido sobre el mismo conjunto de puntos
pero con un vector de escala diferente.
n
Teorema 11.22. Existe un vector (0 , 1 , . . . , n1 ) q de elementos no
nulos tal que, para cualquier 0 k n 1,
RSG
k (, ) = RSGnk (, ).
En consecuencia, RSG
k (, ) RSGnk (, ). Y como RSGk (, ) tiene
dimensin n k, el teorema queda probado.
P (Xi )
f (Xi ) = Q 0 i n 1.
j6=i Xj
1
i = Q , 0 i n 1.
i j6=i j i )
(
382 Cdigos ReedSolomon
matriz generadora de uno de ellos si G lo es del otro, siendo D una matriz diagonal con
escalares no nulos.
C. Lpez, M. Veiga. Teora de la Informacin y Codificacin 383
(01 y0 , . . . , n1
1
yn1 ),
Es decir,
n1
X
sj = yi i ji , j = 0, . . . , 2t 1.
i=0
La identidad clave puede ser resuelta, como se sabe, por el algoritmo eucldeo
(apartado 11.4.3), y las magnitudes de error se deducen con el algoritmo de
Forney, por ejemplo.
= (2 , 2 , 3 , , 1)
Notas bibliogrficas
n1
X
Vj = ij vi , j = 0, . . . , n 1
i=0
a) Frmula de inversin:
n1
1 X ik
vi = Vk , i = 0, . . . , n 1
n i=0
b) Linealidad: u + v U + V para , q.
e) Convolucin cclica:
n1
X
ei = f(il) gl (Ek = Fk Gk )
l=0
n1
X
1
(fi gi ) n Gk F(ik) .
k=0
Pn1
f ) El polinomio v(x) = i=0 vi xi tiene un cero en k si y solamente si
Vk = 0.
g) En el cuerpo qm , la transformada de Fourier de v tiene componentes
en el subcuerpo q si y slo si vjq = v(jq) .
h) Diezmado: si n = n1 n2
1 nX
2 1
(v0 , vn2 , v2n2 , . . . , v(n1 1)n2 ) Vi+n1 j
n2 j=0 i=0,...,n1 1
con ab = 1 mod n.
entre las 2t componentes conocidas del sndrome (que son las 2t primeras
componentes de la transformada de Fourier de e) y el vector de error e,
para un e de la menor longitud posible y peso no mayor que t.
En el procedimiento de decodificacin por localizacin, este problema no
lineal se descompone en dos pasos. Primero se establece una relacin lineal
entre los coeficientes del sndrome y los del polinomio localizador (x).
Luego, se resuelve una relacin no lineal sencilla (una recurrencia lineal)
entre los coeficientes de (x) y los de E, la transformada de Fourier de e,
para hallar el resto de valores desconocidos de E. Por ltimo, se invierte el
espectro E para recuperar el vector de error.
(x)E(x) = 0 mod xn 1.
Este sistema de ecuaciones posee al menos una solucin pues, por hipte-
sis, el vector de error consta de t errores o menos y su polinomio localizador
es una solucin. Esto significa que si ha habido t errores exactamente, en-
tonces tal solucin es la nica y el determinante de la matriz no es nulo. Si
7 Dada una palabra v de un cdigo cclico, al polinomio v(x) = n1 i
i=0 Vi x cuyos
coeficientes son la transformada de Fourier de v se lo denomina tambin polinomio de
MattsonSolomon de v.
C. Lpez, M. Veiga. Teora de la Informacin y Codificacin 391
Por lo tanto,
0
L
X L
X L
X
k vrk = k 0j vrkj
k=1 k=1 j=1
L0
X L
X
= 0j k vrkj
j=1 k=1
0
L
X
= 0j vrj .
j=1
C. Lpez, M. Veiga. Teora de la Informacin y Codificacin 393
Demostracin. Suponga que existe una recurrencia lineal (L0 (x), L0 ) que
produce (v0 , . . . , vr1 ) y con L0 < r L. Entonces, (L(x), L) y (L0 (x), L0 )
producen ambas (v0 , . . . , vr2 ) y L + L0 r 1. Pero, por el teorema
anterior, esto implica que deben generar el mismo valor de la secuencia en
la iteracin r 1, contra lo que se haba supuesto.
con v > t.
La idea bsica del algoritmo es la de hallar, en cada etapa r 1, la
recurrencia ((r) (x), Lr ) de longitud mnima que produce los r primeros
trminos de la secuencia E. As pues,
Lr
X (r)
Ej = k Ejk , j = Lr , . . . , r 1.
k=1
Pero, en general, r 6= 0.
Para plantear el algoritmo con una notacin conveniente, obsrvese que
la recurrencia se puede escribir de manera equivalente como
con p(r) (x) un polinomio de grado menor que Lr , de manera que en esta
expresin los coeficientes de (r) (x)E(x) sean nulos para los ndices j =
Lr , . . . , r 1.
El teorema siguiente establece los clculos de la iteracin fundamental.
(r) (x)E (r) (x) = p(r) (x) + r xr + xr+1 g (r+1) (x), grado(p(r) (x)) < Lr ,
(m) (x)E (m) (x) = p(m) (x) + m xm + xm+1 g (m+1) (x),
grado(p(m) (x)) < Lm < Lr .
Lr = r (r Lr1 ) + (1 r )Lr1
(r) (r1)
(x) 1 r x (x)
= , r = 1, . . . , 2t.
B (r) (x) 1
r r (1 r )x B (r1) (x)
n1
!2 n1 n1
X X X
Sv2 = i Svi = 2i Svi
2
= 2i S2v2i .
i=1 i=1 i=1
Y
n1
X n1
X n1
X
S2v = k S2vk = k i S2vki .
k=1 k=1 i=1
En esta suma doble, los trminos con i 6= k aparecen dos veces, por simetra,
y en 2 ambos suman cero. Por lo tanto, a la suma slo contribuyen los
trminos con i = k, y
n1
X
S2v = 2k S2v2k .
k=1
Cdigos convolucionales
399
400 Cdigos convolucionales
12.1. Definicin
* +
n +
salidas x q , en la que en cada instante de tiempo t = 0, 1, . . . (t ):
st+1 = ut A + st B (12.1)
xt = u t C + s t D (12.2)
el alfabeto q.
y el producto como
t
!
X X
x(D) y(D) = xi yti Dt , (12.4)
t=0 i=0
expresin que debe entenderse como el vector cuyos elementos son las trans-
formadas-D de cada una de las n componentes de la secuencia {st : t 0}.
La suma de transformadas-D de dos sucesiones de vectores se define ahora
de la manera usual a partir de la operacin de suma de vectores
X
x(D) + y(D) = (xt + yt )Dt .
t=0
Las expresiones
X X X
s(D) = si D i , u(D) = ui D i , x(D) = xi D i
i0 i0 i0
las de las figuras 12.2 y 12.3, son no recurrentes (no poseen conexiones
por realimentacin), siendo condicin necesaria y suficiente para ello que
su matriz generadora sea polinmica. Cuando un codificador [n, 1] es no
recurrente, el grado es el nmero mximo de smbolos futuros de cada una
de las salidas que se ven afectados por un smbolo a la entrada.
Observe adems que, con la segunda realizacin, el primer bit a la salida
es una copia del de la entrada. En general, un codificador [n, k] en el que,
en cada instante de tiempo, k smbolos de salida son una rplica de los de
entrada se denomina sistemtico, y su matriz generadora es sistemtica; y
es obvio que, salvo por permutacin de alguna de sus columnas, una matriz
sistemtica admitir la forma
G(D) = Ikk Q(D)knk
de elementos de memoria que precisa. Adems de las matrices cannicas, las matrices
generadoras sistemticas tambin son mnimas pero, en general, recurrentes.
C. Lpez, M. Veiga. Teora de la Informacin y Codificacin 407
xt = ut C + st D, t0
x =uG (12.8)
en donde las filas refieren cada una de las componentes de la salida y las
columnas representan instantes de tiempo. Escribiendo la ecuacin matri-
cial (12.8) en forma explcita, el smbolo 1 j n de salida en el instante
de tiempo t 0 se calcula como
m X
X k
(j) (i) (h)
xt = uth gij .
h=0 i=1
que es, por supuesto, la operacin de convolucin que da nombre a esta clase
de cdigos.
G muestra una evidente estructura repetitiva, pues cada bloque de k filas
son las k anteriores desplazadas n columnas hacia la derecha. Por convenio,
se dice que la matriz de dimensiones finitas
G0 G1 . . . Gm
(1)
Si en este sistema intentamos eliminar st en la segunda identidad utilizan-
do para ello la identidad primera, resultara
xt+1 = (ut , ut + ut1 + ut2 + )
que muestra que xt est afectado por entradas arbitrariamente distantes en
el pasado. Por lo tanto, la memoria infinita es una caracterstica del codifi-
cador elegido, no del cdigo convolucional. Como es obvio, los codificadores
asociados a matrices generadoras polinmicas tienen siempre memoria fi-
nita. Pero aun dentro de la clase de matrices generadoras polinmicas, no
todas son igual de convenientes. Por ejemplo, si se multiplica G(D) por
1 + D se obtiene la matriz
G00 (D) = 1 + D3 1 + D + D2 + D3
cuyo codificador asociado aparece en la figura 12.6. Si suponemos la secuen-
cia de entrada
1
u(D) = 1 + D + D2 + D3 + =
1+D
o lo que es igual, el mensaje compuesto por una secuencia ilimitada de unos,
entonces la secuencia del cdigo que le asignara el codificador G00 (D) sera
1
x(D) = u(D)G00 (D) = G00 (D) = 1 + D + D2 1 + D2 .
1+D
Ahora bien, x(D) tiene peso Hamming 5; luego la regla de transformacin
elegida asigna a algunas secuencias de entrada de peso Hamming infinito
secuencias de salida con un nmero finito de smbolos no nulos. Esto significa
que existen secuencias del cdigo que, difiriendo entre s en un nmero finito
de smbolos, han sido generadas por secuencias de entrada que difieren en un
nmero infinito de posiciones. De ocurrir esta circunstancia, el decodificador
podra asignar a vectores de error con peso Hamming finito una estimacin
de un nmero infinito de errores en la secuencia transmitida, algo claramente
desaconsejable. Como habr ocasin de ver posteriormente, el problema es
que G00 (D) no posee una matriz pseudoinversa polinmica, sino racional:
t
1 1
G00 (D) = 1.
D + D2 D + D2
C. Lpez, M. Veiga. Teora de la Informacin y Codificacin 411
hemos preferido traducir por retcula por la siguiente razn: los nodos de un diagrama
trellis de un cdigo convolucional se pueden poner en biyeccin con un subconjunto de
los puntos de una retcula bidimensional
+
R = {1 e1 + 2 e2 : 1 , 2 }
b) es la funcin de salida,
: Lk Ln
(ut , st ) xt
que determina los smbolos de salida correspondientes la entrada ut
cuando el estado es st ; como un cdigo convolucional admite un patrn
generador lineal, entonces
xt = (ut , st )
Xm m
X
= uth Gh = ut G0 + uth Gh
h=0 h=1
= ut G0 + f (st ).
C. Lpez, M. Veiga. Teora de la Informacin y Codificacin 413
N = N 0 N1 N2 . . .
Lo sustancial, por tanto, es que un nodo de una retcula puede ser orde-
nado segn el nmero de arcos en cualquier camino desde un nodo raz en
N0 hasta l. Los caminos formados por i arcos finalizan en algn nodo de
Ni , y Ni se denomina etapa i de la retcula. El alfabeto de etiquetas E de los
arcos es totalmente arbitrario y depende slo del dominio de aplicacin. En
el caso de la teora de cdigos, E es el alfabeto de codificacin y se dir que
la retcula T representa al cdigo C si el conjunto formado por las secuencias
de etiquetas de los caminos de T es C.
En una retcula deducida de un codificador convolucional C[n, k, m] hay
naturalmente un nico nodo en la etapa inicial N0 = {0}, el correspondiente
al vector de estado nulo en el codificador. Los nodos de la etapa i representan
los estados internos a los que es posible llegar en el instante de tiempo i,
y cualquier nodo posee 2k arcos de salida; asimismo, en cualquier nodo de
una etapa t > m convergen 2k arcos provenientes de nodos de la etapa t 1.
La etiqueta asociada a un arco a es (a) = (u; (u, si )), el resultado de
concatenar la secuencia de smbolos de entrada que causan la transicin a
con la secuencia de smbolos de salida que produce el codificador.
Tal como se ha definido, el diagrama reticular sirve, ante todo, para
mostrar grficamente la evolucin del codificador y as revelar ciertas pro-
piedades estructurales del cdigo. Veamos algunas de ellas.
Se dice que un estado st en la etapa t es alcanzable si existe una secuencia
de entradas que lleve al codificador del estado s0 al estado st en t transicio-
nes, es decir, si existe un camino de longitud t en el diagrama reticular de s0
a st . Por definicin, todos los estados en una retcula correspondiente a un
C. Lpez, M. Veiga. Teora de la Informacin y Codificacin 415
cdigo convolucional son alcanzables para t m. Por otra parte, el que las
funciones de transicin y de salida sean invariantes en el tiempo implica que
el propio diagrama reticular de un cdigo convolucional tambin posee una
estructura invariante. Cualquier estado s es alcanzable desde el estado
inicial s0 en m transiciones o menos. Por tanto, los estados alcanzables en
el tiempo t m son todos los de . Ms an, tambin para los tiempos
t m, por la propiedad de invariancia temporal, las transiciones entre dos
etapas sucesivas son siempre las mismas, y estn asociadas a las mismas
entradas. La retcula es, pues, a partir de la etapa t m, una estructura
regular, repetitiva, que se extiende indefinidamente en el tiempo.
La estructura de un diagrama reticular de un cdigo convolucional pre-
senta un patrn de interconexin entre etapas ciertamente regular: el con-
junto de transiciones entre dos etapas se puede dividir en componentes pa-
ralelos idnticos. Para ver cmo tal cosa es posible, definamos la siguiente
(1) (2)
relacin entre dos estados, st y st , de una misma etapa
(1) (2) (1) (2)
st F st u t , ut y st+1 Nt+1 :
(1) (1) (2) (2)
st+1 = ut A + st B = ut A + st B,
en donde A y B son las matrices que, en las ecuaciones del modelo de estados,
controlan la dinmica de la evolucin interna del codificador. Es decir, dos
estados estarn F -relacionados si existe algn estado en la etapa siguiente
alcanzable desde ambos. Pues bien, esta relacin binaria es una equivalencia.
La clase de equivalencia del estado st consta de = |(st , ut ) : ut Lk |
elementos, en donde (, ) es la funcin de transicin. Y puesto que en
una retcula asociada a un cdigo convolucional la funcin de transicin es
invariante en el tiempo, la relacin F divide a los 2m estados de una etapa
cualquiera en 2m / clases, de modo que, en cada clase, desde cualquiera de
sus estados slo existen transiciones hacia el mismo conjunto de estados en
la etapa siguiente.
De manera anloga, podemos definir otra relacin de equivalencia entre
los estados de llegada, en la etapa Nt+1 , como
(1) (2) (1) (2)
st+1 B st+1 ut , ut y s t Nt :
(1) (1) (2) (2)
st+1 = ut A + st B; st+1 = ut A + st B
% %
!"#$"
"!"""
"!""" "!""" !"
"!""
!"" !""
"!"
"!"
!"
"!""
12.4. Decodificacin
Ejemplo 12.7 (El lgebra (IR+ {}, mn, +)). Sea E el conjunto de los
nmeros reales no negativos ms el smbolo . En E se define el producto
de dos de sus elementos como la suma ordinaria de nmeros reales, con la
salvedad de reservar el smbolo 0 para el elemento identidad. La suma de
dos elementos de E se define como el mnimo de ambos, e desempea el
papel de elemento identidad, es decir, a + = mn{a, } = a. Vea que
C. Lpez, M. Veiga. Teora de la Informacin y Codificacin 425
ax log P(r | x
ML(r) = arg m )
x
6 Tratamos, por tanto, con observaciones discretas y con ruido de las secuencias del
cdigo. Es habitual hablar de decodificacin hard cuando la entrada al decisor es una se-
cuencia de smbolos; cuando la entrada al decisor es una sucesin de muestras de la seal
que sirve de soporte a la transmisin del mensaje (o, con ms propiedad, una secuencia
de valores reales que constituyen un estadstico suficiente de la secuencia de smbolos
emitida) se habla, en cambio, de decodificacin soft. Las tcnicas de decodificacin soft
consiguen menor probabilidad de error que las hard, aunque son ligeramente ms com-
plicadas de implementar, y no sern consideradas en este texto, en el que se parte de la
idealizacin de canal discreto. En todo caso, el algoritmo ptimo de decodificacin hard
y soft de secuencias es el mismo, salvo por un cambio en la mtrica.
7 En cualquier experimento aleatorio, dadas dos alternativas posibles a priori, x
1 y x
2 ,
y una observacin ruidosa del resultado, r, la funcin
P(r | x
1 )
f (r) = log
P(r | x
2 )
es una medida de la posibilidad de que haya ocurrido x 1 y no x2 ; ms exactamente, si
f (r) > 0, es ms probable la hiptesis x
1 que la hiptesis x
2 . De ah, por tanto, que
la funcin f (r) (cuyo signo permite discriminar entre dos alternativas excluyentes) se
conozca tambin como funcin de verosimilitud.
C. Lpez, M. Veiga. Teora de la Informacin y Codificacin 429
en donde P(ri | x
i ) indica la probabilidad de observar a la salida del canal
el vector ri en respuesta a la entrada x i . Tomando logaritmos en ambos
miembros de esta ecuacin, la regla de decodificacin ML queda, por ser la
funcin logaritmo una funcin estrictamente creciente, como
N
X 1
ax log P(r | x
arg m ) = arg m
ax log P(ri | x
i )
x
x
i=0
(12.10)
N
X 1
= arg mn log P(ri | x
i ).
x
i=0
PN 1
La funcin i ) es claramente una mtrica entre los
i=0 log P(ri | x
caminos r y x , la resultante de acumular un coste individual de valor igual a
i ) por cada arco del camino. En consecuencia, puede enunciarse
log P(ri | x
el principio de decodificacin ptima ML diciendo que consiste en la eleccin
del camino de coste mnimo con respecto a la secuencia observada a la salida
del canal, siendo el coste de un camino la suma del coste relativo de cada uno
de sus arcos, y ste el logaritmo cambiado de signo de cierta probabilidad
de transicin del canal.
Observe en la ecuacin (12.10) que la minimizacin de la mtrica no se
hace en cada arco individual, sino que es global, a lo largo de todo el ca-
mino candidato hasta la etapa N . Es por este motivo por el que la tcnica
recibe el nombre de deteccin ML de secuencias o deteccin MLSE (Maxi-
mum Likelihood Sequence Estimation). Obsrvese, adems, que la mtrica
es puramente probabilstica, es decir, que en absoluto depende de ningu-
na propiedad algebraica o estructural de las secuencias que se pretenden
estimar.
Cuando la transmisin se realiza por un canal binario simtrico, las
ecuaciones (12.10) adoptan una forma particularmente simple. Supngase
que la probabilidad de transicin es p y que, en la rama i = 0, . . . , N 1,
los smbolos de salida de la secuencia r (fija) y el camino x
T (arbitrario)
difieren en dH (
xi , ri ) posiciones. Por lo tanto,
i ) = log pdH (ri ,xi ) (1 p)ndH (ri ,xi )
log P(ri | x
que es una funcin afn creciente de dH (ri , x
i ). As pues, en un canal binario
simtrico se selecciona el camino ms cercano en distancia Hamming a la
secuencia de salida del canal.
arg mn (p),
p=a1 ...aN TN
Viterbi sobre un grafo reticular con P nodos (en total) y A arcos (en total)
precisa de A multiplicaciones y AP +1 sumas en el conjunto algebraico S.
En consecuencia, su complejidad aumenta slo linealmente con el nmero
de etapas (estados) de la retcula, en lugar de incrementarse de manera
exponencial como lo hace el nmero total de caminos.
En un sistema real de comunicaciones, N , la longitud en bloques del men-
saje, puede alcanzar valores muy grandes, de forma que, en primer lugar,
la decisin en el receptor se retrasara hasta ser inaceptable y, en segundo
lugar, la memoria necesaria para almacenar los caminos supervivientes, que
es directamente proporcional a N , crecera tambin hasta hacer poco eco-
nmica o incluso inviable la construccin del decodificador. Existen varias
alternativas para solucionar estos inconvenientes:
Ejemplo 12.9. Supongamos que se utiliza sobre cierto canal binario sim-
trico el codificador convolucional de cuatro estados de la figura 12.15.
C. Lpez, M. Veiga. Teora de la Informacin y Codificacin 433
! ! ! ! !
! ! ! !
& ) ) ) -- + )
-- + -- + -- +
##
112 112 112 112 112
Figura 12.18.
b) Separar el nodo inicial (0, . . . , 0) en dos nodos, (0, . . . , 0)1 y (0, . . . , 0)2 .
c) Sustituir todos los arcos con origen en el estado (0, . . . , 0) por arcos
con origen en el estado (0, . . . , 0)1 .
nodo a b c d e
estado 00 10 11 01 00
Te (z, s, w)
H(s, z, w) = .
Ta (s, z, w)
Utilizando las dos primeras ecuaciones del sistema anterior para sustituir
en la tercera, se tiene que
sw
Td (s, z, w) = sw2 + szw3 Ta (s, z, w) + szw 2 Td (s, z, w)
1 szw2
C. Lpez, M. Veiga. Teora de la Informacin y Codificacin 437
2s2 zw5 s3 z 2 w7
H(s, z, w) = sw
1 szw2 2s2 zw4 + s3 z 2 w6
= sw 2s2 zw5 3s3 z 2 w7 z 2 +
= 2s3 zw6 3s4 z 2 w8 +
2w5 w7
T (w) = H(s, z, w)|z=s=1 = w .
1 w2 w + w6
Obsrvese que la funcin general de transferencia H(s, z, w) depende tanto
del cdigo como del codificador, mientras que T (w) depende nicamente del
cdigo.
Teorema 12.2.
X te1 + + t ek
a) L tL = .
(1 t)2
L0
k
X
b) L = ax (L + 1 ei , 0).
m
i=1
C. Lpez, M. Veiga. Teora de la Informacin y Codificacin 439
X k X
X
L tL = tei +j + tei +j+1 +
L0 i=1 j0
k X ei +j
X t
=
i=1 j0
1t
k
X tei
= .
i=1
(1 t)2
X k
X tei
L tL =
i=1
(1 t)2
L0
k X
X
= (j + 1)tei +j
i=1 j0
k X
X
= (j + 1 ei )tj .
i=1 jei
Demostracin.
X
k
L m
ax L + 1 ei , 0 ax k(L + 1) m, 0
= m
i=1
Pk
ya que i=1 ei = m.
Ahora bien, puesto que el mximo comn divisor de los i (D) es DL pa-
ra algn L 0, por el algoritmo de Euclides se tiene que existen polinomios
gi (D) tales que
X
gi (D)i (D) = DL .
i
P
Luego, definiendo H(D) = i gi (D)Ci0 (D), se tiene que
X
G(D)H(D) = gi (D)G(D)Ci0 (D)
i
X
= gi (D)i (D)Ik
i
X
= gi (D)i (D) Ik = DL Ik .
i
por
1+D 0 1 D
G(D) = .
D 1 + D + D2 D2 1
Los menores 2 2 de esta matriz son
12 = (1 + D)(1 + D + D 2 ) 23 = 1 + D + D2
13 = D(1 + D + D2 ) 24 = D(1 + D + D2 )
14 = 1 + D + D2 34 = 1 + D + D2
de peso infinito produce una salida de peso finito. dem para la entrada
1 1+D 1
u0 (D) = 0 0
2 U (D) = 2 2
1+D+D 1+D+D 1+D+D
si se toma como matriz unimodular a
1 0
U 0 (D) = .
1+D 1
444 Cdigos convolucionales
con
t
X
f (
e) = Itj (
e)
j=0
Pero X
X
T (z, w) = aid wd z i
d=1 i=1
448 Cdigos convolucionales
1 p dl 1
P Adl 2 p(1 p) Adl 2dl pdl /2 (12.16)
k k
siendo Adl la suma del nmero de smbolos de informacin errneos en todas
las secuencias de error a la distancia mnima libre dl .
w4 z 2 + w4 z w6 z 2
T (z, w) = .
1 w2 z w2 z 2 w2 z + w4 z 2
Tras realizar algunos clculos se obtiene
T (z, w) 3w4 3w6 + w8
=
z z=1 (1 3w2 + w4 )2
-2
-4
-6
-8
log P(error)
-10
-12
-14
-16
2 2.5 3 3.5 4 4.5 5 5.5 6
-log p
G(D) = G0 + G1 D + G2 D2 + + Gm Dm
[M ] [M ]
en donde Gp (i, j) es la submatriz de Gp compuesta por las filas i, i +
1, . . . , j. La matriz generadora, en el dominio transformado D, del cdigo
obtenido por perforacin se obtiene directamente a partir del generador Gp
como
Gp (D) = G0,p + G1,p D + + Gr,p Dr .
Gp (D) es una matriz cannica si G(D) lo es, y el cdigo perforado es anti-
podal cuando el de partida es antipodal.
En general, la puncin es un mtodo con el que construir cdigos con-
volucionales de tasa kM/(nM ) a partir de uno de tasa k/n, de tal
manera que su diagrama reticular tenga la misma estructura de estados e
igual complejidad que la del cdigo matriz y, gracias a ello, la decodifica-
cin sea ms simple. Pero no se da la circunstancia, en general, de que los
cdigos perforados sean los ptimos (bajo el criterio de minimizacin de la
probabilidad de error) de entre la clase de cdigos [nM , kM ]. Por otro
lado, eligiendo adecuadamente la matriz de perforacin, es posible cambiar
la tasa de un dispositivo de codificacin, en funcin de las propiedades del
canal por ejemplo, sin variar en nada su estructura fsica.
Ejemplo 12.14. Para el cdigo C[3, 1, 3] del ejemplo 12.1, con matriz gene-
radora
G(D) = 1 + D 1 + D2 1 + D3
= (1, 1, 1) + (1, 0, 0)D + (0, 1, 0)D 2 + (0, 0, 1)D3
elijamos la matriz de perforacin
0 0 1
P = 1 0 0 .
1 1 0
P da lugar a un cdigo [4, 3] que se obtiene al borrar de C el primer bit
del primer grupo de tres bits a la salida, los bits primero y segundo de la
segunda terna de bits a la salida y los bits segundo y tercero de la siguiente
terna de salida.
El patrn generador de C extendido 3 intervalos de tiempo es
1 1 1 1 0 0 0 1 0 0 0 1
G[3] = 1 1 1 1 0 0 0 1 0 0 0 1 .
1 1 1 1 0 0 0 1 0 0 0 1
El patrn generador del cdigo perforado se obtiene tras borrar las columnas
1, 4, 5, 8 y 9 de cada grupo de 9 columnas de G[3]
1 1 0 0 0 1 0 0
G[3]
p =
0 0 1 1 1 0 1 0
0 0 0 1 0 0 0 0
452 Cdigos convolucionales
Notas bibliogrficas
[1] N. Abramson. Information theory and coding. McGraw-Hill, 1963. Existe tra-
duccin al castellano, Teora de la informacin y la codificacin. Editorial
Paraninfo, 1986. 4.7.3
[2] E. F. Asmuss, Jr., H. F. Mattson, Jr. y R. J. Turyn. Research to develop the
algebraic theory of codes. Informe AFCRL-67-0365, Air Force Cambridge
Res. Labs., 1967. 7.9
[3] E. R. Berlekamp. Algebraic coding theory. McGraw-Hill, 1968. Tambin en:
Aegean Park Press, Laguna Hills, edicin revisada, 1984. 9.6, 10.4.3, 11.7
[4] E. R. Berlekamp. Key papers in the development of coding theory. IEEE Press,
1974. 6.10, 10, 28, 52
[5] D. Bertsekas, R. G. Gallager. Data networks. Prentice Hall, 2.a edicin, 1992.
8.2.5
[6] U. D. Black. Data link protocols. Prentice Hall, 1993. 8.2.5
[7] R. E. Blahut. Theory and practice of error control codes. Addison-Wesley,
1983. 7.9
[8] R. E. Blahut. Algebraic codes for data transmission. Cambridge Univ. Press,
2002. 7.9
[9] T. C. Bell, J. G. Cleary e I. H. Witten. Text compression. Prentice-Hall, 1990.
3.B.2
[10] R. C. Bose, D. K. RayChaudhuri, On a class of error correcting binary
group codes. Inform. and Control, vol. 3, pgs. 6879, 1960. Reimpreso
en [4], pgs. 7881. 7.9, 10.4.3
[11] A. R. Calderbank. The art of signaling: fifty years of coding theory. En In-
formation theory: 50 years of discovery, S. Verd y S. McLaughlin (editores),
pgs. 517551, IEEE Press, 2000. 6.10
[12] W. Cary Huffman, V. Pless. Fundamentals of error-correcting Codes. Cam-
bridge University Press, 2003. 11.5
[13] J. H. Conway, N. J. A. Sloane. Sphere packings, lattices and groups. Springer
Verlag, 1988. 5
455
456 Bibliografa
3.B.2
ndice alfabtico
A distribuido, 244
abeliano eucldeo, 363
anillo , 237 alternante
cuerpo , 271 cdigo(s) , 192, 303
grupo , 141 protocolo de bit , 249
semigrupo , 418 anillo, 237, 275
ACK, vase asentimiento abeliano, 237
acortado conmutativo, 237
cdigo(s) , 171, 233, 239, 348, 372 de ideales principales, 239
afn unitario, 237
grupo , 314 antipodal
alfabeto, 3 cdigo(s) , 414
binario, 3 rbol completo, 58
de codificacin, 5 arco, 407
de entrada, 4 aritmtica
de la fuente, 3 binario/a, 141
de salida, 4 mdulo-2, 143
lgebra ARQ, 243
de Boole, 143 correccin , 245
(IR+ {}, mn, +), 419 eficiencia , 245
algebraicogeomtrico envo continuo con rechazo
cdigo(s) , 337 selectivo, 255
algoritmo envo continuo con rechazo
de Berlekamp, 331 simple, 251
de BerlekampMassey, 359, 390 parada y espera, 247, 251
de bsqueda de Chien, 333 asentimiento, 247
de decodificacin por acumulativo, 251
permutacin, 226 negativo, 247, 249, 250, 261
de decodificacin por sndrome, positivo, 247, 249251, 255
155 autoortogonal
de divisin eucldeo, 273, 275, 363 cdigo(s) , 149
de Fano, 417 autodual
de Forney, 356, 357 cdigo(s) , 149
de Huffman, 67 automorfismos, 225, 285, 314
de Peterson, 327 de Galois, 285
de PetersonGorensteinZierler, de permutacin, 225
353
de pila, 417 B
de Sugiyama, 363 base, 145
de Viterbi, 393, 417, 419, 424 BCH
de Wozencraft, 417 cdigo(s) , 304
461
462 ndice alfabtico
N algoritmo de , 353
NACK, vase asentimiento negativo Peterson, W. W., 327
nats, 31 pila
negativo algoritmo de , 417
asentimiento , 261 Plotkin
neutro cota de , 185
elemento , 141 polinomio
Newton ciclotmico, 291
identidades de , 325 congruente, 238
nodo, 407 enumerador, 172
error, 215
O evaluador de error, 356, 360
ptima generador, 200
decodificacin , 133 homogneo, 172
ptimos irreducible, 274
cdigo(s) , 62 de Krawtchouk, 176
opuesto localizador, 324, 383
elemento , 143 localizador de error, 352, 370
orden localizador de smbolos borrados,
de un elemento, 279 370
ortogonal, 148 mnimo, 286
cdigo(s) , 148 mnico, 199, 286
conjunto , 148 primitivo, 216, 287
vector , 148 recproco, 204
sndrome, 353
P polinomio localizador de error, 323
palabra positivo
del cdigo(s), 139 asentimiento , 250, 255
par posteriori
cdigo(s) , 338 mximo a , 134, 421
parada y espera, 247, 251 primitivo
paridad elemento , 281
ecuaciones de comprobacin de , polinomio , 216, 287
150 primo
matriz de comprobacin de , 150 cuerpo , 278
patrn principal
generador, 402 ideal , 239
perfecto probabilidad
cdigo(s) , 167 de error de decodificacin, 166
perforacin de error no detectado, 166
matriz de , 443 de transicin, 76
perforado producto
cdigo(s) , 372, 443 binario/a, 141
permutacin escalar, 148
decodificacin por , 226 propiedad de particin, 41
permutacin protocolo, 244
automorfismos de , 225 de bit alternante, 249
cclico, 226 pseudoinversa
peso matriz , 435
Hamming, 161 puncin, 348
pesos de cdigo(s), 443
distribucin de , 166
Peterson Q
algoritmo de , 327 quasiperfecto
PetersonGorensteinZierler cdigo(s) , 167
468 ndice alfabtico
R teorema de de codificacin de
radio fuente, 65
de cobertura, 165 simtrica/o
rfaga elemento , 141
de error, 217 fuente binaria , 9
Ray-Chaudhuri, A. K., 303 simple
raz rechazo , 251, 255
n-sima de la unidad, 290 sndrome, 153
rechazo decodificacin por , 152
selectivo, 258 polinomio , 353
simple, 251, 255 vector , 153
recproco sndromes
polinomio , 204 tabla de , 155
recurrente Singleton
cdigo(s) , 393 cota de , 181
redundancia de un cdigo, 66, 141 singular
Reed, I., 340 cdigo(s) no , 53
ReedMuller sistema equivalente de vectores, 146
cdigo(s) , 171 sistemtico
ReedSolomon cdigo(s) , 146, 206
cdigo(s) , 305, 337, 338 Solomon, G., 340
rgimen subanillo, 238
de transmisin, 3 subcdigosubcuerpo, 311
regin subcuerpo, 278
convexa, 33 Sugiyama
relacin algoritmo de , 363
de equivalencia, 272 Sugiyama, Y., 363
residuo suma
mdulo-p, 273 binario/a, 141
superviviente
retardo, 3
camino(s) , 424
RS
smplex
cdigo(s) , 337, 338
cdigo(s) , 186, 231
cdigo(s) generalizados, 373
ruido, 4
T
tabla
S de Cayley, 273
salida de sndromes, 155
funcin de , 406 tasa
seccionamiento, 415 de entropa, 73
secuencia tasa de cdigo, 141
de error, 438 temporizador, 248
secuencias teorema
decodificacin de , 417, 422 de BerlekampMassey, 389
selectivo de concordancia, 386
rechazo , 258 de Fermat, 282
semianillo, 418, 423 de FermatEuler, 290
semigrupo de Kraft, 59
abeliano, 418 de Lagrange, 280
conmutativo, 418 de Levenshtein, 186
separable de Massey, 387
cdigo(s) , 340 de MasseySain, 435
Shannon de McMillan, 61
teorema de de codificacin de de procesamiento de la
canal, 118, 126 informacin, 101
ndice alfabtico 469
de Shannon de codificacin de
canal, 118, 126
de Shannon de codificacin de
fuente, 65
de Wedderburn, 272
tpica
matriz , 155
Toeplitz
matriz , 354
trama, 244
transferencia
funcin de , 429
transformada
de Fourier, 381
de Hadamard, 173
transformada-D, 395
transicin
funcin de , 406
probabilidad de , 76
trapping
error , 227
U
unidad
elemento , 271
unitario
anillo , 237
V
Vandermonde
matriz de , 307, 355
vector
cdigo(s), 144
ortogonal, 148
sndrome, 153
vector de error, 152
ventana deslizante, 252
verosimilitud
mxima , 134
Viterbi
algoritmo de , 393, 417, 419, 424
Viterbi, A. J., 418
W
Wedderburn
teorema de , 272
Wozencraft
algoritmo de , 417
Wozencraft, J. M., 417
Z
Zierler, N., 353
Este libro ha sido compuesto utilizando tipos EC a 10pt y el sistema de
edicin LATEX 2 . Se termin de imprimir en la imprenta Trculo Artes
Grficas, Santiago de Compostela, Espaa, el 25 de septiembre de 2003.
Este libro contiene las ideas bsicas de la Teora de la Informacin y la
Teora de la Codificacin, dos campos esenciales para la comprensin cabal
de la ingeniera de los modernos sistemas de transmisin digital.
Los autores han querido dar: