Sei sulla pagina 1di 100

Escuela Politcnica Superior

Universidad Autnoma de Madrid

Transmisin de Datos
Codificacin de Canal

Jos M. Martnez
Video Processing and Undestanding Lab (VPULab)
Escuela Politcnica Superior
Universidad Autnoma de Madrid, SPAIN
JoseM.Martinez@uam.es
tel:+34.91.497.22.58
2011-2012

Escuela Politcnica Superior

Universidad Autnoma de Madrid

ndice
Introduccin
o
o
o
o
o
o

Motivacin
Estrategias ARQ versus FEC
Modelo de canal de comunicacin
Capacidad de canal
Teorema de codificacin de canal ruidoso
Limites de la comunicacin

Cdigos de canal
o
o
o
o
o

Introduccin
Cdigos lineales
Cdigos cclicos
Cdigos convolucionales
Cdigos basados en combinacin

Modulacin codificada
Aplicaciones de cdigos de canal
Transmisin de Datos (JoseM.Martinez@uam.es, 2011-2012)

Codificacin de canal (2)

Escuela Politcnica Superior

Universidad Autnoma de Madrid

ndice
Introduccin
o
o
o
o
o
o

Motivacin
Estrategias ARQ versus FEC
Modelo de canal de comunicacin
Capacidad de canal
Teorema de codificacin de canal ruidoso
Limites de la comunicacin

Cdigos de canal
Modulacin codificada
Aplicaciones de cdigos de canal

Transmisin de Datos (JoseM.Martinez@uam.es, 2011-2012)

Escuela Politcnica Superior

Codificacin de canal (3)

Universidad Autnoma de Madrid

Motivacin (I)
La codificacin de fuente adapta las fuentes para su transmisin digital con
una serie de lmites en tasa y distorsin (en el caso de codificacin con
prdidas).
Sin embargo a la hora de transmitir (o almacenar) las secuencias de
smbolos codificados (generalmente secuencias de {0,1}) los errores
son siempre posibles, siendo la Probabilidad de Error (Pe: nos
referiremos a Peb, independientemente de la modulacin) en
transmisin funcin del tipo de modulacin, ancho de banda y potencia
de las seales que se usan para transmitir la seal, perturbaciones que
incidan sobre el canal/medio (incluyendo defectos en soporte de
almacenamiento),
Si bien la Teora de la Comunicacin permite disear sistemas con baja
Pe, en la prctica estos sistemas pueden implicar costes elevados o
puede existir la necesidad de Pe=0.
Por lo tanto surge la necesidad de la Codificacin de Canal para
reducir/eliminar los errores en la transmisin (almacenamiento)recepcin (recuperacin) del flujo de smbolos codificados procedente
del codificador de fuente.

Transmisin de Datos (JoseM.Martinez@uam.es, 2011-2012)

Codificacin de canal (4)

Escuela Politcnica Superior

Universidad Autnoma de Madrid

Motivacin (II)

Cod
Canal

C.Fuente

Mod.digital

Decod
Canal

Perturbaciones

Rcf H(X)
Rcf R(D)

CANAL =>

Pe

Rcc Rcf

Transmisin de Datos (JoseM.Martinez@uam.es, 2011-2012)

Escuela Politcnica Superior

Pecc Pe

Codificacin de canal (5)

Universidad Autnoma de Madrid

ndice
Introduccin
o
o
o
o
o
o

Motivacin
Estrategias ARQ versus FEC
Modelo de canal de comunicacin
Capacidad de canal
Teorema de codificacin de canal ruidoso
Limites de la comunicacin

Cdigos de canal
Modulacin codificada
Aplicaciones de cdigos de canal

Transmisin de Datos (JoseM.Martinez@uam.es, 2011-2012)

Codificacin de canal (6)

Escuela Politcnica Superior

Universidad Autnoma de Madrid

Estrategias ARQ versus FEC (I)


ARQ: Automatic Repeat reQuest
Se hace uso de cdigos que detectan errores y cuando aparecen se
solicita la retransmisin hasta que llega sin error.
o Interesa que ARQ est en niveles inferiores de la pila de protocolos para
reducir el tiempo de reaccin (espera de usuario) y los recursos
consumidos

FEC: Forward Error Correction


Se hace uso de cdigos (ms complejos) que adicionalmente a la
deteccin son capaces de corregir errores.
o Se transmiten ms bits de redundancia pero al reducirse las
retransmisiones se compensa la tasa efectiva total
o Son los nicos a tener en cuenta en los sistemas sin canal de retorno
(difusin, almacenamiento, )

Transmisin de Datos (JoseM.Martinez@uam.es, 2011-2012)

Escuela Politcnica Superior

Codificacin de canal (7)

Universidad Autnoma de Madrid

Estrategias ARQ vs FEC (II)


En las tcnicas de correccin de errores (FEC) el error es corregido por el
propio receptor por medio de la redundancia que introduca el cdigo.
El resto del captulo se centrar en estas tcnicas.

En el caso de las tcnicas de deteccin de errores (ARQ) es necesario


tener un cdigo que detecte el mayor nmero posible de errores ya que
si se detecta un error lo que se hace es pedir una retransmisin por
parte del emisor, y si no se detecta error alguno, se supone que la
secuencia de bits ha llegado sin errores.
Ests tcnicas se estudian en redes, pero
Existen tres tipos principales de tcnicas ARQ:
o ARQ de parada y espera
o ARQ de envo continuo y rechazo simple
o ARQ de envo continuo y rechazo selectivo

Transmisin de Datos (JoseM.Martinez@uam.es, 2011-2012)

Codificacin de canal (8)

Escuela Politcnica Superior

Universidad Autnoma de Madrid

Estrategias ARQ vs FEC (III)


ARQ parada y espera
En este sistema de transmisin, el emisor enva una trama y espera a que le
llegue el asentimiento del receptor para enviar la siguiente (es posible el
funcionamiento de este sistema partiendo de hiptesis simplificadoras: flujo
unidireccional, los mensajes no se pierden tiempo de espera-, siempre se
detectan los errores). El receptor puede enviar un asentimiento positivo
(ACK): la trama me ha llegado sin errores; o bien un asentimiento negativo
(NAK): ha ocurrido un error. Si al emisor le llega un NAK, retransmite la
ltima trama, en caso contrario transmite la siguiente. En este sistema el
emisor slo tiene que tener en memoria la ltima trama que ha enviado ya
que es la nica que tiene pendiente de ser asentida.

http://jungla.dit.upm.es/~trdt/

Transmisin de Datos (JoseM.Martinez@uam.es, 2011-2012)

Escuela Politcnica Superior

Codificacin de canal (9)

Universidad Autnoma de Madrid

Estrategias ARQ vs FEC (IV)


ARQ de rechazo simple
En este caso, se supone que el emisor no espera a recibir un asentimiento
del receptor sino que continua transmitiendo tramas que a su vez
almacena en buffer hasta que sean asentidas: es una ventana deslizante
en el emisor. Para diferenciar una trama de las dems les aade un
nmero de secuencia supuestamente infinito, pero que no aumenta el
nmero de bits de redundancia (es uno de los problemas en la prctica).
El receptor asiente cada trama con su nmero correspondiente lo que
libera la trama correspondiente en el buffer del emisor. Si una trama es
errnea, el emisor vuelve atrs y retransmite a partir de esa trama (lo que
hace inviable este sistema para probabilidades de error elevadas). El
receptor slo tiene que almacenar una trama en su registro pues al final
siempre le llegan en orden.

http://jungla.dit.upm.es/~trdt/
Transmisin de Datos (JoseM.Martinez@uam.es, 2011-2012)

Codificacin de canal (10)

Escuela Politcnica Superior

Universidad Autnoma de Madrid

Estrategias ARQ vs FEC (V)


ARQ de rechazo selectivo
Para evitar perder eficiencia en transmisin, se busca repetir solo las
tramas con error y no el resto. Para eso se usa el emisor del ARQ anterior:
transmisin continua salvo que solo retransmite la trama defectuosa (lo
sabe por el nmero de secuencia del asentimiento). El receptor se
complica ya que ha de guardar en un registro todas las tramas posteriores
a un error hasta que le llegue la retransmisin de la trama para poder
entregarlas el orden. Esto complica el sistema bastante: son necesarias
ventanas deslizantes tanto en receptor como en emisor y para
probabilidades de error bajas no da una gran diferencia en eficacia
respecto del sistema ARQ anterior.

http://jungla.dit.upm.es/~trdt/
Transmisin de Datos (JoseM.Martinez@uam.es, 2011-2012)

Escuela Politcnica Superior

Codificacin de canal (11)

Universidad Autnoma de Madrid

ndice
Introduccin
o
o
o
o
o
o

Motivacin
Estrategias ARQ versus FEC
Modelo de canal de comunicacin
Capacidad de canal
Teorema de codificacin de canal ruidoso
Limites de la comunicacin

Cdigos de canal
Modulacin codificada
Aplicaciones de cdigos de canal

Transmisin de Datos (JoseM.Martinez@uam.es, 2011-2012)

Codificacin de canal (12)

Escuela Politcnica Superior

Universidad Autnoma de Madrid

Modelo de canal de comunicacin


Canal de comunicacin
Medio a travs del cual se puede transmitir/recibir informacin
Medio en el cual se puede almacenar/recuperar informacin
o Cables metlicos, fibras pticas, espacio libre, ionosfera, discos magnticos,
discos pticos,

Las entradas a un canal de comunicacin son seales que se entregan a


su salida
En otro lugar (medios de transmisin)
En otro momento (medios de almacenamiento)

Al existir una relacin entre entrada y salida se puede modelar como un


Sistema
Existen muchos factores que influyen en que la entrada no coincida con la
salida
o Atenuacin, no linealidad, B limitado, propagacin multitrayecto, ruido, defectos
de medios fsicos,

La relacin entrada-salida en un canal de comunicacin (sistema) suele ser


compleja (relacin estocstica).

Transmisin de Datos (JoseM.Martinez@uam.es, 2011-2012)

Escuela Politcnica Superior

Codificacin de canal (13)

Universidad Autnoma de Madrid

Modelo de canal discreto


Canal discreto
Los canales continuos (variables continuas) se pueden discretizar al
tener ancho de banda limitado
Relacin entre alfabeto de entrada (X) y alfabeto de salida (Y)

p(y|x)

Un canal puede tener memoria (e.g., IES)


Para un canal sin memoria y extensin de fuente de orden n
o p(y|x)=p(yi|xi)

Transmisin de Datos (JoseM.Martinez@uam.es, 2011-2012)

Codificacin de canal (14)

Escuela Politcnica Superior

Universidad Autnoma de Madrid

Modelo de canal discreto binario simtrico


Para un canal sin memoria y extensin de fuente de orden n
p(y|x)=p(yi|xi)

Si el canal es binario

p(0|0)=1-

Y=X={0,1}

p(x=0)=1-p

Si canal simtrico
p(y<>x)=1-p(y=x)
o p(1|0)=p(0|1)=
p(x=1)=p
o p(0|0)=p(1|1)=1-
o = Pe (probabilidad de error del canal fsico)

1
p(1|1)=1-

Si canal AWGN y seales binarias antipodales


=Pecanal=Q(2b/No)
Son canales limitados en potencia
o No se puede aumentar la potencia para reducir Pe

Transmisin de Datos (JoseM.Martinez@uam.es, 2011-2012)

Escuela Politcnica Superior

Codificacin de canal (15)

Universidad Autnoma de Madrid

ndice
Introduccin
o
o
o
o
o
o

Motivacin
Estrategias ARQ versus FEC
Modelo de canal de comunicacin
Capacidad de canal
Teorema de codificacin de canal ruidoso
Limites de la comunicacin

Cdigos de canal
Modulacin codificada
Aplicaciones de cdigos de canal

Transmisin de Datos (JoseM.Martinez@uam.es, 2011-2012)

Codificacin de canal (16)

Escuela Politcnica Superior

Universidad Autnoma de Madrid

Capacidad de Canal
Codificacin de fuente
Lmite de R sin error: H(X) RcfRtx
Lmite de R con distorsin menor que D: R(D) Rtx

Codificacin de canal:
Existe otro lmite para la transmisin sobre canal de comunicacin
Este lmite indica que se puede limitar la Pe de transmisin siempre
que la velocidad de transmisin (Rtx) sea menor que un lmite
denominada Capacidad de Canal (C).

Teorema de Capacidad de Canal Ruidoso [Shannon 1948]


La limitacin que producen las perturbaciones en un canal no es la
fiabilidad de la transmisin sino la velocidad de la transmisin
o Reduciendo la velocidad de transmisin se puede hacer Pe tan pequea
como se quiera

Transmisin de Datos (JoseM.Martinez@uam.es, 2011-2012)

Escuela Politcnica Superior

Codificacin de canal (17)

Universidad Autnoma de Madrid

Capacidad de canal: ejemplo (I)


Sea el siguiente canal de comunicacin
En este canal se puede transmitir 4 smbolos
o 2 bits/smbolo (R)

En ese caso siempre hay probabilidad de error


o E.g., si recibo b, es equiprobable haber emitido a o b
o Decisin al azar ( = 1- = 0.5)

1/2

1/2

1/2

c
d

1/2

c
d
Y

Sin embargo, si con ese canal (posibles seales) transmito


solamente dos seales
o 2 seales => 1 bit/smbolo (R=R/2)

Tengo un canal sin error


o Si solamente transmito a y c, llegue lo que llegue, no tengo error
o Al reducir R reduzco Pe

Transmisin de Datos (JoseM.Martinez@uam.es, 2011-2012)

Codificacin de canal (18)

Escuela Politcnica Superior

Universidad Autnoma de Madrid

Capacidad de canal: ejemplo (II)

a
p(b)=0

b
c

p(d)=0

1/2

a
b

1/2

Esencia del teorema de codificacin de canal


Si las entradas estn alejadas, sus salidas coincidirn (Pe) poco

Transmisin de Datos (JoseM.Martinez@uam.es, 2011-2012)

Escuela Politcnica Superior

Codificacin de canal (19)

Universidad Autnoma de Madrid

Capacidad de Canal: Canal binario simtrico (I)


El modelo de canal binario simtrico no permite aplicar
directamente codificacin de canal
0 1-

1 1-
Es necesario hacer extensin de fuente para tener ms
smbolos y por lo tanto poder jugar a no transmitir todos.
Por lo tanto el fundamento es hacer bloques de n bits
(extensin de fuente binaria) y no transmitir los 2n bloques
posibles (smbolos), sino un subconjunto de ellos (2k)
suficientemente alejados
Centroides de clusters ... PEA vs codificacin de fuente con
prdidas

El problema reside en como elegir los 2k a transmitir.


Transmisin de Datos (JoseM.Martinez@uam.es, 2011-2012)

Codificacin de canal (20)

10

Escuela Politcnica Superior

Universidad Autnoma de Madrid

Capacidad de Canal: Canal binario simtrico (II)

Transmisin de Datos (JoseM.Martinez@uam.es, 2011-2012)

Escuela Politcnica Superior

Codificacin de canal (21)

Universidad Autnoma de Madrid

Capacidad de Canal: Canal binario simtrico (III)


Para cada cadena de n smbolos (binarios) de entrada y un canal binario
simtrico con Pe= , la salida ser distinta en n bits
Se puede demostrar que para cada bloque/cadena de n smbolos existen
aproximadamente 2nHb() (realmente (nn)) cadenas de salida altamente
probables, que difieren de la de entrada en n bits.
Las seales de salida altamente probables (alfabeto de palabras cdigo Y
son ms que X, aunque todas con el mismo nmero de bits) sern
aproximadamente 2nH(Y) (segn PEA).
Por lo tanto, el cociente entre todas las posibles secuencias de salida y las
posibles secuencias correspondientes a una entrada (por el error de
transmisin) ser el nmero de secuencias de X que permitiran no
crear confusin (otra cosa es saber cules son)
M=2nH(Y)/ 2nHb() = 2n(H(Y)-Hb()).
R (bits tiles/codificacin canal) = #bits tiles por secuencia/bits en cada
secuencia = log2M/n = H(Y)-Hb()

depende del canal (no se puede controlar tras la instalacin)


H(Y) sin embargo depende de p(x) y , de forma que se puede maximizar R
eligiendo la p(x) que maximice H(Y)

Transmisin de Datos (JoseM.Martinez@uam.es, 2011-2012)

Codificacin de canal (22)

11

Escuela Politcnica Superior

Universidad Autnoma de Madrid

Capacidad de Canal: Canal binario simtrico (IV)


Se puede demostrar que para un
canal binario simtrico
= Pe -> 0 cuando n ->
Rmax = C = 1 Hb()
= 0 = 1 => C = 1
o Se puede transmitir igual de
bien si no hay errores como si
todo son errores (vale con negar
la seal)
Si siempre dice la verdad o miente,
siempre puedo acertar

o El peor caso (C=0) cuando =


0.5 (no puedo transmitir nada
sin error, pues es
completamente aleatorio).

Transmisin de Datos (JoseM.Martinez@uam.es, 2011-2012)

Escuela Politcnica Superior

Codificacin de canal (23)

Universidad Autnoma de Madrid

ndice
Introduccin
o
o
o
o
o
o

Motivacin
Estrategias ARQ versus FEC
Modelo de canal de comunicacin
Capacidad de canal
Teorema de codificacin de canal ruidoso
Limites de la comunicacin

Cdigos de canal
Modulacin codificada
Aplicaciones de cdigos de canal

Transmisin de Datos (JoseM.Martinez@uam.es, 2011-2012)

Codificacin de canal (24)

12

Escuela Politcnica Superior

Universidad Autnoma de Madrid

Teorema de Codificacin de Canal Ruidoso


C = maxp(x) I(X;Y) = maxp(x) I(Y;X) = maxp(x) {H(Y)-H(Y|X)} =
maxp(x) {H(X)-H(X|Y)}
C: cunta informacin se puede transmitir sin generar errores
en la transmisin (por confusin)
Rtx = caudal
C = cauce

Si Rtx C se puede transmitir sin error


Si Rtx > C no se puede transmitir sin error (se desborda)
Se puede demostrar que para canal AWGN
C=W log(1+(P/NoW)) [bis/seg] = log(1+(P/NoW))/2 [bits/transmisin]
= log2M/n = maxp(x) I(X;Y)
Transmisin de Datos (JoseM.Martinez@uam.es, 2011-2012)

Escuela Politcnica Superior

Codificacin de canal (25)

Universidad Autnoma de Madrid

Teorema de Capacidad de Canal: ejemplo


Calcular la capacidad del canal de la figura

c
0.5
0.25

C = maxp(x) I(X;Y) = maxp(x) I(Y;X) = maxp(x) {H(Y)-H(Y|X)}

Transmisin de Datos (JoseM.Martinez@uam.es, 2011-2012)

Codificacin de canal (26)

13

Escuela Politcnica Superior

Universidad Autnoma de Madrid

Teorema de Capacidad de Canal: ejemplo - solucin


C = maxp(x) I(X;Y) = maxp(x) I(Y;X) = maxp(x) {H(Y)-H(Y|X)}
H(Y|X) = p(a).H(Y|x=a)+p(b).H(Y|x=b)+p(c).H(Y|x=c)
H(Y|x=a)= - p(yi|x=a).log p(yi|x=a) =
= - 0.5log 0.5 0.25log 0.25 0.25log 0.25 =1.5
H(Y|x=b)= H(Y|x=c)= H(Y|x=a)=1.5
H(Y|X)=1.5[p(a)+p(b)+p(c)]=1.5
o Si no se cumpliese H(Y|x=b)= H(Y|x=c)= H(Y|x=a), sera necesario conocer p(xi)

C = maxp(x) {H(Y)-1.5}= maxp(x) (H(Y))-1.5


maxp(x) (H(Y)) => ser el caso de Y uniforme, pero no est claro que exista
generalmente una X que produzca Y uniforme sobre un canal dado. En este
caso particular (canal simtrico), Y ser uniforme si X es uniforme.
Si X uniforme pi=1/3 => H(Y)=H(X)=H(1/3,1/3,1/3)=1,585
C = 1,585-1,5 = 0,085 bits (tiles)/transmisin
Por lo tanto aunque transmita 3 smbolos (log 3 bits), cada transmisin solo podr
tener 0,085 tiles, de forma que si n=100, tendr 8,5 tiles, lo que implica que para
transmitir 8 sin error necesitara 92 de redundancia ( y sigo sin saber cuales).
Transmisin de Datos (JoseM.Martinez@uam.es, 2011-2012)

Escuela Politcnica Superior

Codificacin de canal (27)

Universidad Autnoma de Madrid

ndice
Introduccin
o
o
o
o
o
o

Motivacin
Estrategias ARQ versus FEC
Modelo de canal de comunicacin
Capacidad de canal
Teorema de codificacin de canal ruidoso
Limites de la comunicacin

Cdigos de canal
Modulacin codificada
Aplicaciones de cdigos de canal

Transmisin de Datos (JoseM.Martinez@uam.es, 2011-2012)

Codificacin de canal (28)

14

Escuela Politcnica Superior

Universidad Autnoma de Madrid

Lmites de la comunicacin (I)


C=W log(1+(P/NoW)) [bis/seg]
Si aumenta P, aumenta C logartmicamente (menor que lineal)
Si aumenta W, C aumenta linealmente y disminuye logartmicamente
pasa ms ruido Por lo tanto existe un lmite de C con W

limC log e N
W

1.44

P
N0

Transmisin de Datos (JoseM.Martinez@uam.es, 2011-2012)

Escuela Politcnica Superior

Codificacin de canal (29)

Universidad Autnoma de Madrid

Lmites de la comunicacin (II)


En la prctica R < C
R < W log(1+(P/NoW))
R/W = r < log(1+(P/NoW))
b = P/R
r < log(1+(P/No(R/r)))
r < log(1+r(b/No))
Comunicacin fiable por debajo de
la curva r= log(1+r(b/No))

Transmisin de Datos (JoseM.Martinez@uam.es, 2011-2012)

Codificacin de canal (30)

15

Escuela Politcnica Superior

Universidad Autnoma de Madrid

Lmites de la comunicacin (III)


Lmite asntotico en b/No = -1,592 [dB]
b/No > -1,6 dB => b/No = 0,693 = ln 2
b/No > ln 2 versus b/No > 2 ln 2 (Constelaciones ortogonales en
Teora de la Comunicacin: pre-Shannon => solamente puedo jugar
con potencia y tiempo de smbolo)
r<<1 => limitacin en potencia (aumento W): constelaciones
ortogonales
r>>1 => limitacin en ancho de banda (aumento P): constelaciones
concentradas e.g., QAM 256-

Transmisin de Datos (JoseM.Martinez@uam.es, 2011-2012)

Escuela Politcnica Superior

Codificacin de canal (31)

Universidad Autnoma de Madrid

Lmites de la comunicacin (IV)


Sin prdidas:
CRtxRcfspH(X)

Con prdidas
CRtxRcfcpR(Dmax)

Transmisin de Datos (JoseM.Martinez@uam.es, 2011-2012)

Codificacin de canal (32)

16

Escuela Politcnica Superior

Universidad Autnoma de Madrid

ndice
Introduccin
o
o
o
o
o
o

Motivacin
Estrategias ARQ versus FEC
Modelo de canal de comunicacin
Capacidad de canal
Teorema de codificacin de canal ruidoso
Limites de la comunicacin

Cdigos de canal
Modulacin codificada
Aplicaciones de cdigos de canal

Transmisin de Datos (JoseM.Martinez@uam.es, 2011-2012)

Escuela Politcnica Superior

Codificacin de canal (33)

Universidad Autnoma de Madrid

ndice
Introduccin
Cdigos de canal
o
o
o
o
o

Introduccin
Cdigos lineales
Cdigos cclicos
Cdigos convolucionales
Cdigos basados en combinacin

Modulacin codificada
Aplicaciones de cdigos de canal

Transmisin de Datos (JoseM.Martinez@uam.es, 2011-2012)

Codificacin de canal (34)

17

Escuela Politcnica Superior

Universidad Autnoma de Madrid

Cdigos de Canal: Introduccin


La codificacin de canal mejora la comunicacin extremo-a-extremo
reduciendo la Pe y el nmero de retransmisiones, sin modificar la SNR
del sistema de comunicacin subyacente (mejorar el medio de
transmisin para reducir el ruido, poner amplificadores antes para
controlar el factor de ruido- y mejores -para aumentar la potencia-, )
Para que se cumplan las condiciones del teorema de codificacin de canal
es necesario usar n bits para transmitir un bloque de k bits de
informacin (n>k). Por lo tanto existe n-k bits de redundancia que en
funcin de las restricciones que impongan (las cuales si no se cumplen
en recepcin indican la existencia de un error) darn lugar a cdigos
ms o menos ptimos.
Al no usarse las 2n secuencias, sino solamente 2k se cumplen las
condiciones de codificacin de canal. Queda encontrar las 2 k secuencias a
transmitir que consigan reducir/eliminar la confusin entre las recibidas.
Un cdigo de canal se caracteriza por (n, k, , t)
o
o
o
o
o

k: nmero de bits de informacin


n: nmero de bits de la palabra cdigo
: nmero de errores que es capaz de detectar
t: nmero de errores que es capaz de corregir
Para que el cdigo sea til Pebitn{,t}

Transmisin de Datos (JoseM.Martinez@uam.es, 2011-2012)

Escuela Politcnica Superior

Codificacin de canal (35)

Universidad Autnoma de Madrid

Cdigos de Canal: Cdigos de paridad (I)


Los cdigos ms simples son los cdigos con 1 bit de paridad
(n,k,1,0) = (k+1, k, 1, 0)
Pueden ser de paridad par (nmero de 1s par => p=0) o impar (nmero de
1s impar => p=0)
Paridad par

p x1 x2 x3 .... xk
c x1 x2 x3 ....xk p
Paridad impar

p x1 x2 x3 .... xk 1
c x1 x2 x3 ....xk p

Transmisin de Datos (JoseM.Martinez@uam.es, 2011-2012)

Codificacin de canal (36)

18

Escuela Politcnica Superior

Universidad Autnoma de Madrid

Cdigos de Canal: Cdigos de paridad (II)


En recepcin se calcula si se cumple la restriccin: en este caso, que el
nmero de 1s (en k) sea par o impar y coincida con el bit de paridad
correspondiente (se denomina sndrome al resultado de esa
comprobacin)

r [( x1 e1 ), ( x2 e2 ),..., ( xk ek ), ( p ek 1 )]

s [r1 r2 ... rk rk 1 ]
[( x1 e1 ) ( x2 e2 ) ... ( p ek 1 )]

[( x1 x2 ... xk ) p] (e1 e2 ... ek 1 )

p p 0

1 si #impar e i 1
0 si # par e i 1

Si existe un nmero impar de errores se detecta, pero si es par no, por


que los errores se cancelan.
Este sistema requiere tcnicas ARQ y solamente es til si Pebitn1.
Se puede aadir un segundo bit de paridad impar.
Transmisin de Datos (JoseM.Martinez@uam.es, 2011-2012)

Escuela Politcnica Superior

Codificacin de canal (37)

Universidad Autnoma de Madrid

Cdigos de Canal: Correccin simple


Los cdigos de paridad son cdigos detectores, pero no correctores. Para corregir,
adicionalmente a la deteccin, hay que posicionar el error, lo que implica trabajar
con matrices de 2 o ms dimensiones (la transmisin ser en serie).
Un ejemplo sencillo (14,8)

x1

x2

x3

x4

p1

x5

x6

x7

x8

p2

p3

p4

p5

p6

Se calculan los sndromes por filas y columnas, y la interseccin posiciona el error

x1 x2 x3 x4 p1 s1
x5 x6 x7 x8 p2 s2
p3 p4 p5 p6
s3 s4 s5 s6
Solamente corrige un error y pueden enmascararse varios (til Pebitn1)
Los bits de paridad pueden tener error
Transmisin de Datos (JoseM.Martinez@uam.es, 2011-2012)

Codificacin de canal (38)

19

Escuela Politcnica Superior

Universidad Autnoma de Madrid

Cdigos de Canal: Decisin soft o hard


La decodificacin de canal se basa en el clculo del sndrome sobre los
bits recibidos, que provienen de las seales demoduladas. Por lo tanto
el demodulador, que devuelve la secuencia de bits en funcin de la
etapa de decisin posterior al filtro adaptado (o acumulador), puede
dejar pasar o no informacin sobre la fiabilidad, y aprovechar la posible
correlacin entre los bits de la palabra cdigo.
Para decidir si una seal demodulada se asigna al smbolo 1 0 se
pueden tomar decisiones soft o hard
Soft: la decisin se toma en funcin del vector recibido (palabra cdigo) y
con umbrales de fiabilidad (e.g., 8 niveles), de forma que posteriormente el
decodificador de canal puede usar esta informacin para mejorar la
decodificacin.
o Ms compleja, pero mucho mejor. Suele usarse para cdigos que trabajan en el
lmite terico (e.g., Turbo Cdigos).

Hard: la decisin se toma bit a bit de la palabra cdigo y de forma binaria (0


si por debajo de un umbral, 1 si por encima)
o Ms sencilla. Suele usarse para cdigos de bloque.
Transmisin de Datos (JoseM.Martinez@uam.es, 2011-2012)

Escuela Politcnica Superior

Codificacin de canal (39)

Universidad Autnoma de Madrid

Cdigos de canal: Tipos


Los cdigos de canal se agrupan en:
Cdigos lineales de bloque (sin memoria)
o Los Cdigos cclicos de bloque son una particularizacin

Cdigos convolucionales (con memoria)


Cdigos combinados

Adicionalmente a los cdigos existen tcnicas que permiten tambin llevar


a cabo codificacin de canal. El ejemplo ms importante es la
correccin de errores a rfagas, ya que los cdigos no se comportan
bien en ese caso (estn diseados para canales con errores aleatorios).
La tcnica ms usada para los canales con errores a rfagas consiste en
aadir un entrelazador entre el codificador de canal y el modulador
(entre demodulador y decodificador en el receptor).
El caso ms simple de entrelazador introduce las palabras cdigos por filas
y extrae la informacin por columnas, logrando dispersar los errores de
rfagas y convertirlos en pseudo-aleatorios para ser luego procesados por
el cdigo de canal.
Transmisin de Datos (JoseM.Martinez@uam.es, 2011-2012)

Codificacin de canal (40)

20

Escuela Politcnica Superior

Universidad Autnoma de Madrid

Cdigos de canal: Entrelazado (I)


El entrelazado no supone un aumento de redundancia.
Solamente se trata de un reordenamiento de los smbolos
generados por el codificador externo. El funcionamiento
esquemtico es el siguiente:
los smbolos generados por el codificador externo son introducidos
en una matriz de almacenamiento lnea a lnea.
Posteriormente estos smbolos son enviados a la siguiente etapa
extrayndolos de la matriz por columnas.
As, dos smbolos adyacentes generados por el codificador de canal
externo, tras el entrelazado, estarn separados entre s por tantos
smbolos como entren en una columna.
En el proceso de decodificacin, los smbolos recibidos son
introducidos por columnas, lo que provoca que las posibles rfagas
de errores estarn situadas en columnas. Por ltimo, los smbolos
se extraen por filas hacia el decodificador externo, con lo que las
rfagas de error se distribuyen en el flujo de datos, posibilitando su
mejor correccin, al haber convertido un error a rfagas en una serie
de errores aleatorios.
Transmisin de Datos (JoseM.Martinez@uam.es, 2011-2012)

Codificacin de canal (41)

Escuela Politcnica Superior

Universidad Autnoma de Madrid

Cdigos de canal: Entrelazado (II)

introduccin de smbolos

extraccin de smbolos

entrelazado

extraccin de smbolos

introduccin de smbolos

smbolo

desentrelazado

smbolo errneo

Distribucin de la rfaga de errores en el flujo de datos

Transmisin de Datos (JoseM.Martinez@uam.es, 2011-2012)

Codificacin de canal (42)

21

Escuela Politcnica Superior

Universidad Autnoma de Madrid

ndice
Introduccin
Cdigos de canal
o
o

Introduccin
Cdigos lineales
Introduccin
Definiciones
Codificacin: Matriz generatriz
Matriz de chequeo de paridad
Cdigos Hamming
Decodificacin de cdigos lineales
Decodificacin sistemtica dura (Matriz estndar)

o
o
o

Cdigos cclicos
Cdigos convolucionales
Cdigos basados en combinacin

Modulacin codificada
Aplicaciones de cdigos de canal
Transmisin de Datos (JoseM.Martinez@uam.es, 2011-2012)

Escuela Politcnica Superior

Codificacin de canal (43)

Universidad Autnoma de Madrid

Cdigos de lineales: Introduccin (I)


Un cdigo de bloque (n,k) queda definido por M=2k secuencias de tamao
n bits denominadas palabras cdigo.
C={c1,c2,cM}
ci={0,1}n

Un cdigo de bloque es lineal si la combinacin lineal de palabras cdigo


es tambin una palabra cdigo

ci c j ck
Por lo tanto, en un cdigo lineal siempre tiene que existir el elemento
neutro

c1 (0,0,0,...,0)
n bits

ci ci ck c1
ci c1 ci
Transmisin de Datos (JoseM.Martinez@uam.es, 2011-2012)

Codificacin de canal (44)

22

Escuela Politcnica Superior

Universidad Autnoma de Madrid

Cdigos de lineales: Introduccin (II)


La linealidad del cdigo depende de las palabras cdigo, no
del mapeo entre mensaje (xi) y palabra cdigo (ci)
Normalmente, los cdigos lineales se disean tales que:

x1 c1
x2 c2

x1 x2 c1 c2

Aunque esta propiedad no es necesaria para asegurar la


linealidad del cdigo, a partir de ahora trabajaremos con
cdigos lineales que la cumplan.
Se ver ms adelante sus ventajas.

Transmisin de Datos (JoseM.Martinez@uam.es, 2011-2012)

Escuela Politcnica Superior

Codificacin de canal (45)

Universidad Autnoma de Madrid

Ejercicio de clase 16: Cdigos lineales


Sea el cdigo de bloque C(5,2)={00000, 10100, 01111, 11011}
Demostrar que es lineal

Siendo los mensajes a transmitir X={00, 01, 10, 11}


Calcule una asignacin de palabras cdigo a mensaje que cumpla la
propiedad

x1 c1
x2 c2

x1 x2 c1 c2

Y otra que no la cumpla

Comente los resultados

Transmisin de Datos (JoseM.Martinez@uam.es, 2011-2012)

Codificacin de canal (46)

23

Escuela Politcnica Superior

Universidad Autnoma de Madrid

Ejercicio de clase 16: Cdigos lineales solucin (I)


Sea el cdigo de bloque C(5,2)={00000, 10100, 01111, 11011}
Demostrar que es lineal

Transmisin de Datos (JoseM.Martinez@uam.es, 2011-2012)

Escuela Politcnica Superior

Codificacin de canal (47)

Universidad Autnoma de Madrid

Ejercicio de clase 16: Cdigos lineales solucin (II)


Sea el cdigo de bloque C(5,2)={00000, 10100, 01111, 11011}
Siendo los mensajes a transmitir X={00, 01, 10, 11}
Calcule una asignacin de palabras cdigo a mensaje que
cumpla la propiedad

Y otra que no la cumpla

Transmisin de Datos (JoseM.Martinez@uam.es, 2011-2012)

Codificacin de canal (48)

24

Escuela Politcnica Superior

Universidad Autnoma de Madrid

Cdigos lineales: Definiciones


Peso Hamming de una palabra cdigo
w(ci ) #1s
Distancia Hamming entre dos palabras cdigo
d H (ci , c j ) # elementos distintos bit a bit w( ci c j )
Distancia mnima de un cdigo
d min min d H (c i ,c j )
i j

Peso mnimo de un cdigo


wmin min w(c i )
ci 0

Teorema:
En un cdigo lineal w min d min
Transmisin de Datos (JoseM.Martinez@uam.es, 2011-2012)

Escuela Politcnica Superior

Codificacin de canal (49)

Universidad Autnoma de Madrid

Cdigos lineales: ejercicio propuesto 10


Demostrar que para un cdigo lineal la distancia mnima del
cdigo coincide con el peso mnimo del cdigo.

Transmisin de Datos (JoseM.Martinez@uam.es, 2011-2012)

Codificacin de canal (50)

25

Escuela Politcnica Superior

Universidad Autnoma de Madrid

Cdigos lineales: codificacin


Una vez obtenidos los cdigos, la codificacin se lleva a cabo
separando la secuencia de entrada en bloques de k bits y
generando como salida la palabra cdigo de n bits
correspondientes.
La asignacin de la palabra cdigo se puede hacer de varias
maneras:
Tabla de Look up
o Se tiene que guardar en memoria una tabla de M (2 k) elementos, cada
uno con el mensaje (k bits) y su palabra cdigo asociada (n bits).
o Para cada mensaje se debe buscar en la tabla

Al ser un cdigo lineal existe una relacin entre los bits del mensaje
y los bits de la palabra cdigo, por lo tanto se puede sustituir la tabla
por una serie de operaciones lineales bit a bit o mediante una matriz.

Transmisin de Datos (JoseM.Martinez@uam.es, 2011-2012)

Codificacin de canal (51)

Escuela Politcnica Superior

Universidad Autnoma de Madrid

Cdigos lineales: Matriz generatriz (I)


En un cdigo klineal sean las siguientes
palabras (vectores de kk bits) :
k

e1 (1, 0, 0,..., 0) , e2 (0,1, 0,..., 0) ,..., ek (0, 0, 0,...,1)


gi codigo(ei ) i [1, k ]
Puedo escribir cada mensaje
como

x 0,1 ( x1 , x2 ,...xk )
k

x xi ei
i 1

A cada mensaje x hay que asignarle una palabra cdigo c

Transmisin de Datos (JoseM.Martinez@uam.es, 2011-2012)

Codificacin de canal (52)

26

Escuela Politcnica Superior

Universidad Autnoma de Madrid

Cdigos lineales: Matriz generatriz (II)

g1

g11 ... g1n
k
k
k
g2

c( x ) c( xi ei ) xi c(ei ) xi gi x x ... ... ...


i 1
i 1
i 1
g

...
k1 ... akn
g
k
c xG

1 xn

1 k k n

Por lo tanto, se corrobora la linealidad de estos cdigos, ya que se pueden


definir mediante una matriz G llamada Matriz generatriz (o generadora).
La existencia de G hace la codificacin muy sencilla y eficiente, pues para
M grandes las tablas de Look Up ocupan mucho en memoria y
requieren algoritmos de bsqueda ptimos (la subptima sera la
bsqueda lineal), mientras que G implica simplemente una
multiplicacin vector-matriz.

Transmisin de Datos (JoseM.Martinez@uam.es, 2011-2012)

Escuela Politcnica Superior

Codificacin de canal (53)

Universidad Autnoma de Madrid

Cdigos lineales: Matriz generatriz - ejemplo


Calcular la matriz generatriz del cdigo lineal sistemtico
definido por:

00 -> 00000
01 -> 01111
10 -> 10100
11 -> 11011

Transmisin de Datos (JoseM.Martinez@uam.es, 2011-2012)

Codificacin de canal (54)

27

Escuela Politcnica Superior

Universidad Autnoma de Madrid

Cdigos lineales: Matriz generatriz ejemplo


solucin
Calcular la matriz generatriz del cdigo lineal sistemtico definido por:
00 -> 00000, 01 -> 01111, 10 -> 10100, 11 -> 11011

Se trata de un cdigo (5,2), por lo que habr que calcular los g i (g1 y g2)
g1=c(e1)=c(10)=10100
g2=c(e2)=c(01)=01111

1 0 1 0 0
G

0 1111
Una vez obtenida G se puede calcular el cdigo y comprobar que las palabras
cdigo estn y son sistemticas

00 * G = 00000
01 * G = 01111
10 * G = 10100
11 * G = 11011

Transmisin de Datos (JoseM.Martinez@uam.es, 2011-2012)

Escuela Politcnica Superior

Codificacin de canal (55)

Universidad Autnoma de Madrid

Ejercicio de clase 17: Cdigos lineales: Matriz


generatriz
Calcular la matriz generatriz del cdigo lineal sistemtico (5,3)
que incluye las siguientes palabras cdigo
{(10010),(01001),(10101)}

Transmisin de Datos (JoseM.Martinez@uam.es, 2011-2012)

Codificacin de canal (56)

28

Escuela Politcnica Superior

Universidad Autnoma de Madrid

Ejercicio de clase 17: Cdigos lineales: Matriz


generatriz - solucin (I)
Calcular la matriz generatriz del cdigo lineal (5,3) sistemtico que incluye las
siguientes palabras cdigo {(10010),(01001),(10101)}

Transmisin de Datos (JoseM.Martinez@uam.es, 2011-2012)

Codificacin de canal (57)

Escuela Politcnica Superior

Universidad Autnoma de Madrid

Ejercicio de clase 17: Cdigos lineales: Matriz


generatriz - solucin (II)
Tras tener G se puede generar todo el cdigo y verificar su linealidad, su
forma sistemtica y que incluye las palabras cdigo de partida

c xG

Mensaje

Palabra cdigo

000
001
010
011
100
101
110
111
Transmisin de Datos (JoseM.Martinez@uam.es, 2011-2012)

Codificacin de canal (58)

29

Escuela Politcnica Superior

Universidad Autnoma de Madrid

Cdigos lineales: Matriz generatriz sistemtica


El cdigo del ejemplo anterior cumple que cada palabra
cdigo empieza por el mensaje seguido por (n-k) bits de
redundancia (podra ser al revs).
Estos cdigos lineales se denominan sistemticos, siendo
condicin necesaria y suficiente para que un cdigo lineal
sea sistemtico (por delante/detrs) que G tenga la
siguiente estructura:

Gk n [ I k k | Pk ( n k ) ]
Gk n [ Pk ( n k ) | I k k ]

Transmisin de Datos (JoseM.Martinez@uam.es, 2011-2012)

Codificacin de canal (59)

Escuela Politcnica Superior

Universidad Autnoma de Madrid

Cdigos lineales: Matriz de chequeo de paridad


Por lgebra se sabe que se puede generar un cdigo dual
(n,n-k) al definido por la matriz G, tal que ambos cdigos
son ortogonales.
T

G H

kxn

nx ( n k )

kx ( n k )

H se denomina matriz de chequeo de paridad (se usa en


decodificacin).
Si el cdigo C es sistemtico (por delante) G=[I P] :

H ( n k )n [P( n k )k T | I( n k )( n k ) ]
Si cdigo binario c {0,1}n PT PT
H ( n k )n [P( n k )k T | I( n k )( n k ) ]
Transmisin de Datos (JoseM.Martinez@uam.es, 2011-2012)

Codificacin de canal (60)

30

Escuela Politcnica Superior

Universidad Autnoma de Madrid

Cdigos lineales: matriz H - ejemplo


Calcular la matriz H correspondiente al cdigo lineal definido por la
siguiente matriz generatriz

1 0 1 0 0
G

0 1111

Transmisin de Datos (JoseM.Martinez@uam.es, 2011-2012)

Escuela Politcnica Superior

Codificacin de canal (61)

Universidad Autnoma de Madrid

Cdigos lineales: matriz H ejemplo - solucin


Calcular la matriz H correspondiente al cdigo lineal definido por la
siguiente matriz generatriz

Transmisin de Datos (JoseM.Martinez@uam.es, 2011-2012)

Codificacin de canal (62)

31

Escuela Politcnica Superior

Universidad Autnoma de Madrid

Cdigos lineales: Cdigos Hamming


Son cdigos lineales (n, k, 2, 1)
Restricciones:
m

n 2 1
k 2m m 1
d min 3

Propiedades:

Rc

m2

k , si
m Rc 1
n

Rc es tasa de compresin por lo que en Codificacin de Canal es menor


que 1 (expande). Lo ideal sera 1 que indicara no expansin (e.g.,
entrelazadores)

Como n son todas las secuencias de m bits (menos 1), se obtiene primero
la matriz H (n columnas de (n-k) (=m) elementos/filas) poniendo todas
las secuencias de m bits menos el elemento nulo, y posteriormente se
obtiene G.
Lo ms sencillo es generar cdigos Hamming sistemticos, pero pueden
existir cdigos Hamming no sistemticos.
Transmisin de Datos (JoseM.Martinez@uam.es, 2011-2012)

Escuela Politcnica Superior

Codificacin de canal (63)

Universidad Autnoma de Madrid

Cdigos lineales: Cdigos Hamming - ejemplo


Calcular un cdigo Hamming (7,4) sistemtico

Transmisin de Datos (JoseM.Martinez@uam.es, 2011-2012)

Codificacin de canal (64)

32

Escuela Politcnica Superior

Universidad Autnoma de Madrid

Cdigos lineales: Cdigos Hamming ejemplo


- solucin

n 7 2m 1
k 4 2m m 1
000
001 Ik
010 Ik
011
100 Ik
101

m3
H 37 [ P3T4 | I 33 ]
0 1 1 1 1
H 37 1 0 1 1 0
1 1 0 1 0
G 47 [ I 44 | P43 ]

110
111

Transmisin de Datos (JoseM.Martinez@uam.es, 2011-2012)

Escuela Politcnica Superior

G47

1
0

0
1
0

0
1

0
0

0
0

0
1

1
0

0
0
1
1
1
0

Codificacin de canal (65)

Universidad Autnoma de Madrid

Ejercicio de clase 18: Cdigos lineales: Cdigos


Hamming
Calcule la matriz generatriz de un cdigo Hamming (3,1)
sistemtico

Transmisin de Datos (JoseM.Martinez@uam.es, 2011-2012)

Codificacin de canal (66)

33

Escuela Politcnica Superior

Universidad Autnoma de Madrid

Ejercicio de clase 18: Cdigos lineales: Cdigos


Hamming solucin
Calcule la matriz generatriz de un cdigo Hamming (3,1) sistemtico

Transmisin de Datos (JoseM.Martinez@uam.es, 2011-2012)

Escuela Politcnica Superior

Codificacin de canal (67)

Universidad Autnoma de Madrid

Ejercicio propuesto 11 - Cdigos lineales: Cdigos


Hamming
Calcule la matriz generatriz de un cdigo Hamming n=15
sistemtico.

Transmisin de Datos (JoseM.Martinez@uam.es, 2011-2012)

Codificacin de canal (68)

34

Escuela Politcnica Superior

Universidad Autnoma de Madrid

Cdigos lineales: Decodificacin (I)


En decodificacin de cdigos bloque hay que dividir la
secuencia recibida en bloques de n bits (entrada del
decodificador) que darn lugar a la secuencia de salida
formada por una serie de mensajes decodificados de k bits.
Tabla de Look up
o Para cada palabra cdigo se busca en la tabla el mensaje
o Si el error genera una palabra no cdigo solamente soy capaz de
detectar el error.

Al ser un cdigo lineal se puede hacer uso de las propiedades


(restricciones) del mismo

s y HT
si s (0,0,0,...,0) error

Transmisin de Datos (JoseM.Martinez@uam.es, 2011-2012)

Escuela Politcnica Superior

Codificacin de canal (69)

Universidad Autnoma de Madrid

Cdigos lineales: Decodificacin (II)


El objetivo principal de los cdigos de canal es aumentar la
distancia entre las seales que se transmiten de forma que
se reduzca la Pe.
El objetivo es que las seales transmitidas estn lo ms alejadas
posibles en el espacio n-dimensional.
Una forma de saber lo alejadas que estn las seales es la dH entre
palabras cdigo.
Calcular la dH entre todas la palabras cdigo es poco eficiente, de
forma que para comparar cdigos se suele comparar en funcin de
la dmin (=wmin para cdigos lineales)
Para igual (n,k), una mayor dmin indica que las palabras cdigos
estn menos correladas (cdigo ms separable) => mejor
comportamiento del cdigo de canal.

Transmisin de Datos (JoseM.Martinez@uam.es, 2011-2012)

Codificacin de canal (70)

35

Escuela Politcnica Superior

Universidad Autnoma de Madrid

Cdigos lineales: Decodificacin (III)


Se puede demostrar que las capacidades de un cdigo de
bloque son

d min 1
d 1
t min
2
d min t 1 , t
Sin olvidar que se parte de la hiptesis de canales con errores
aleatorios con Pebitn<{,t}

Transmisin de Datos (JoseM.Martinez@uam.es, 2011-2012)

Escuela Politcnica Superior

Codificacin de canal (71)

Universidad Autnoma de Madrid

Cdigos lineales: Decodificacin blanda

demod
mod {i }
optimo
dig
perturbaciones
n

decisor

Decisor blando (ptimo):


Demodulacin ptima
o La seal r(t) tras pasar por un banco de filtros adaptados da lugar a un
vector de muestras r.
o Se decide como vector decodificado el punto de la constelacin ms
cercano a r (distancia eucldea nmeros reales-)

Transmisin de Datos (JoseM.Martinez@uam.es, 2011-2012)

Codificacin de canal (72)

36

Escuela Politcnica Superior

Universidad Autnoma de Madrid

Cdigos lineales: Decodificacin dura

demod
mod {i }
optimo
dig
perturbaciones
n

decisor

Decisor duro (subptimo y ms frecuente-):


Demodulacin subptima
o Se decide binariamente cada componente de la seal r(t) [r k]
o Posteriormente se selecciona la palabra cdigo ms cercana en
distancia Hamming

Transmisin de Datos (JoseM.Martinez@uam.es, 2011-2012)

Escuela Politcnica Superior

Codificacin de canal (73)

Universidad Autnoma de Madrid

Cdigos lineales: Decodificacin - ejemplo


Sea un cdigo C(3,1)={000,111} que se modula mediante una
modulacin binaria antipodal (e.g., PSK) con s 1 :
111 {1 (t ), 1 (t ), 1 (t )} (1,1,1)

000 {1 (t ), 1 (t ), 1 (t )} (1, 1, 1)
Si la salida del demulador es
r (0.5, 0.5, 3)

Calcular el mensaje decodificado con decisin blanda/dura.


Comente los resultados.

Transmisin de Datos (JoseM.Martinez@uam.es, 2011-2012)

Codificacin de canal (74)

37

Escuela Politcnica Superior

Universidad Autnoma de Madrid

Cdigos lineales: Decodificacin ejemplo solucin


Decisin blanda

Decisin dura

Transmisin de Datos (JoseM.Martinez@uam.es, 2011-2012)

Escuela Politcnica Superior

Codificacin de canal (75)

Universidad Autnoma de Madrid

Cdigos lineales: Decodificacin sistemtica dura Matriz estndar


Para los cdigos lineales existe la posibilidad de decodificacin dura de
forma sistemtica mediante la matriz estndar.
Siendo C={c1,c2, , cM}, se define la matriz estndar del cdigo como una
matriz de 2(n-k) filas por 2k columnas tal que:
1.
La primera fila son los ci (M elementos) empezando por (000)2.
La siguiente fila se inicia con un vector de n {0,1} (ei) cuyo peso sea
mnimo y no est todava en la matriz. Esa fila se completa sumando
al primer elemento de esa filas los elementos de la primera fila (ei+ci).
3.
Se repite 2 hasta que no haya ms secuencias de 0s y 1s de
longitud n
Cada fila se denomina coset y cada ei coset leader

Transmisin de Datos (JoseM.Martinez@uam.es, 2011-2012)

Codificacin de canal (76)

38

Escuela Politcnica Superior

Universidad Autnoma de Madrid

Cdigos lineales: Decodificacin sistemtica dura


Propiedades de la Matriz estndar
Todos los elementos son distintos
Tengo 2n elementos = 2k columnas x filas 2n-k filas
Si dos elementos y1 e y2 son del mismo coset, sus sndromes son
iguales

Transmisin de Datos (JoseM.Martinez@uam.es, 2011-2012)

Escuela Politcnica Superior

Codificacin de canal (77)

Universidad Autnoma de Madrid

Ejercicio propuesto 12 - Cdigos lineales:


Decodificacin sistemtica dura
Demostrar que el sndrome de todos los elementos de un
coset de una matriz estndar es el mismo.

Transmisin de Datos (JoseM.Martinez@uam.es, 2011-2012)

Codificacin de canal (78)

39

Escuela Politcnica Superior

Universidad Autnoma de Madrid

Cdigos lineales: Decodificacin sistemtica dura


ejemplo
Calcular las matrices G, H y estndar del cdigo lineal
sistemtico C(5,2)={00000, 10100, 01111, 11011}

Transmisin de Datos (JoseM.Martinez@uam.es, 2011-2012)

Escuela Politcnica Superior

Codificacin de canal (79)

Universidad Autnoma de Madrid

Cdigos lineales: Decodificacin sistemtica dura


ejemplo solucin (I)
Calcular las matrices G, H y estndar del cdigo lineal sistemtico
C(5,2)={00000, 10100, 01111, 11011}

Transmisin de Datos (JoseM.Martinez@uam.es, 2011-2012)

Codificacin de canal (80)

40

Escuela Politcnica Superior

Universidad Autnoma de Madrid

Cdigos lineales: Decodificacin sistemtica dura


ejemplo solucin (II)
Calcular las matrices G, H y estndar del cdigo lineal sistemtico
C(5,2)={00000, 10100, 01111, 11011}

Transmisin de Datos (JoseM.Martinez@uam.es, 2011-2012)

Escuela Politcnica Superior

Codificacin de canal (81)

Universidad Autnoma de Madrid

Cdigos lineales: Decodificacin sistemtica dura


ejemplo solucin (III)
Calcular las matrices G, H y estndar del cdigo lineal sistemtico
C(5,2)={00000, 10100, 01111, 11011}

Transmisin de Datos (JoseM.Martinez@uam.es, 2011-2012)

Codificacin de canal (82)

41

Escuela Politcnica Superior

Universidad Autnoma de Madrid

Ejercicio de clase 19 - Cdigos lineales:


Decodificacin sistemtica dura
Calcular la matriz estndar del cdigo definido por:
00 -> 0000, 01 -> 0111, 10 -> 1011, 11 -> 1100

Transmisin de Datos (JoseM.Martinez@uam.es, 2011-2012)

Escuela Politcnica Superior

Codificacin de canal (83)

Universidad Autnoma de Madrid

Ejercicio de clase 19 - Cdigos lineales:


Decodificacin sistemtica dura solucin
Calcular la matriz estndar del cdigo definido por:
00 -> 0000, 01 -> 0111, 10 -> 1011, 11 -> 1100

Transmisin de Datos (JoseM.Martinez@uam.es, 2011-2012)

Codificacin de canal (84)

42

Escuela Politcnica Superior

Universidad Autnoma de Madrid

Ejercicio propuesto 13 - Cdigos lineales:


Decodificacin sistemtica dura
Generar el cdigo lineal C(6,3) que incluye como palabras cdigo las
siguientes: {(100101),(010111),(111001)}, as como sus matrices
generatriz (G), de chequeo de paridad (H) y estndar.
Comentar las capacidades detectoras y correctoras del cdigo, tanto a
nivel general (para cualquiera de las matrices estndar posibles, como
para la matriz estndar generada).

Transmisin de Datos (JoseM.Martinez@uam.es, 2011-2012)

Escuela Politcnica Superior

Codificacin de canal (85)

Universidad Autnoma de Madrid

Cdigos lineales: Decodificacin sistemtica dura (I)


Por cuestiones de memoria, no se suele guardar en memoria la matriz
estndar, sino nicamente los sndromes y coset leaders. Por lo tanto en
decodificacin no se puede usar bsqueda exhaustiva y luego buscar por
la columna la palabra cdigo.
Por lo tanto la decodificacin se basa (asumiendo decodificacin dura) en
buscar dHmin(ci,y), para lo cual se busca el coset leader de y calculando su
sndrome y a partir del mismo obteniendo el patrn de error (coset leader)
que se suma a y para obtener la palabra cdigo decodificada.

Transmisin de Datos (JoseM.Martinez@uam.es, 2011-2012)

Codificacin de canal (86)

43

Escuela Politcnica Superior

Universidad Autnoma de Madrid

Cdigos lineales: Decodificacin sistemtica dura (II)


Pasos sistemticos:

Encontrar el vector de muestras demoduladas rn (reales)


Tomar una decisin binario por umbral: rn -> y={0,1} n
Calcular el sndrome: s=yHT
Encontrar el coset leader del coset al que pertence y mediante el
sndrome
Decodificar c sumando (mdulo 2) el coset leader a y.

La mejora que se consigue mediante decodificacin soft


(frente a hard en AWGN) es de apenas 2 dB y es mucho ms
complejo.
Adems si se hace decodificacin bit a bit pero con 8 niveles
(decisin hard-soft) la diferencia con soft es de 0.1 dBs
En la literatura hard(bit a bit)-soft(8 niveles) puede encontrarse
como soft, pero es un compromiso entre los dos extremos.
Transmisin de Datos (JoseM.Martinez@uam.es, 2011-2012)

Escuela Politcnica Superior

Codificacin de canal (87)

Universidad Autnoma de Madrid

ndice
Introduccin
Cdigos de canal
o
o

Introduccin
Cdigos lineales
Introduccin
Definiciones
Codificacin: Matriz generatriz
Matriz de chequeo de paridad
Cdigos Hamming
Decodificacin de cdigos lineales
Decodificacin sistemtica dura (Matriz estndar)

o
o
o

Cdigos cclicos
Cdigos convolucionales
Cdigos basados en combinacin

Modulacin codificada
Aplicaciones de cdigos de canal
Transmisin de Datos (JoseM.Martinez@uam.es, 2011-2012)

Codificacin de canal (88)

44

Escuela Politcnica Superior

Universidad Autnoma de Madrid

ndice
Introduccin
Cdigos de canal
o
o
o

Introduccin
Cdigos lineales
Cdigos cclicos
Introduccin
Estructura
Teorema del polinomio generador
Matriz generadora sistemtica
Cdigos BCH
Cdigos R-S

o
o

Cdigos convolucionales
Cdigos basados en combinacin

Modulacin codificada

Transmisin de Datos (JoseM.Martinez@uam.es, 2011-2012)

Escuela Politcnica Superior

Codificacin de canal (89)

Universidad Autnoma de Madrid

Cdigos cclicos: Introduccin


Los cdigos cclicos son cdigos lineales de implementacin
sencilla
Tipos:
Binarios: BCH (Bose, Chaudhuri, Hocquenghen)
No binarios: RS (Reed Solomon)

Se basan en polinomios en lugar de matrices


Su caracterstica diferenciadora es que cualquier
desplazamiento cclico de una palabra cdigo es palabra
cdigo
Transmisin de Datos (JoseM.Martinez@uam.es, 2011-2012)

Codificacin de canal (90)

45

Escuela Politcnica Superior

Universidad Autnoma de Madrid

Cdigos cclicos: ejemplo


C={c1, c2, c3, c4}={000, 110, 101, 011}

c1(n)=c1
c2(1)= c3
c2(2)= c4
c2(3)= c2
c3(1)= c4
c3(2)= c2
c3(3)= c3
c4(1)= c2
c4(2)= c3
c4(3)= c4

C={c1, c2, c3, c4}={000, 010, 101, 111}


No cclico (si lineal)
Transmisin de Datos (JoseM.Martinez@uam.es, 2011-2012)

Escuela Politcnica Superior

Codificacin de canal (91)

Universidad Autnoma de Madrid

Cdigos cclicos: Estructura (I)


Se representan mediante polinomios (polinomio de palabra cdigo)
n

C ( p) c j p n j c1 p n 1 c2 p n 2 ... cn 1 p cn
j 1

c1 c2 p ... c( n 1) p n 2 cn p n 1
c0 c1 p ... c( n 2) p n 2 c( n 1) p n 1
C ( p) (c1 , c2 ,..., cn 1 , cn )
C (1) ( p) (c2 , c3 ,..., c( n 1) , cn , c1 ) c2 p n 1 c3 p n 2 ... cn p c1
Sea p C ( p) c1 p n c2 p n 1 c3 p n 2 ... c( n 1) p 2 cn p
Si se suma c1 c1 sumar 0
p C ( p ) c1 p n c1 c2 p n 1 c3 p n 2 ... c( n 1) p 2 cn p c1
p C ( p ) c1 ( p n 1) C (1) ( p )
Por lo tanto C (1) ( p) es el resto de dividir p C ( p) /( p n 1)
Transmisin de Datos (JoseM.Martinez@uam.es, 2011-2012)

Codificacin de canal (92)

46

Escuela Politcnica Superior

Universidad Autnoma de Madrid

Cdigos cclicos: Estructura (II)


Se puede demostrar anlogamente
C ( p )(1) p C ( p ) mod( p n 1)
C ( p )(2) p 2 C ( p ) mod( p n 1)
...
C ( p )(i ) p i C ( p ) mod( p n 1)

Transmisin de Datos (JoseM.Martinez@uam.es, 2011-2012)

Escuela Politcnica Superior

Codificacin de canal (93)

Universidad Autnoma de Madrid

Ejercicio propuesto 14 - Cdigos cclicos


Demostrar razonadamente

C ( p)( n ) p n C ( p) mod( p n 1) C ( p)

Transmisin de Datos (JoseM.Martinez@uam.es, 2011-2012)

Codificacin de canal (94)

47

Escuela Politcnica Superior

Universidad Autnoma de Madrid

Cdigos cclicos: Teorema del polinomio


generador
En cualquier cdigo cclico (n,k) existe un polinomio g(p) de
grado (n-k) llamado polinomio generador que cumple que:

g ( p) p n k g 2 p n k 1 g3 p n k 2 ... g n k p 1
g(p) es factor de (p n 1)
Siendo X(p) polinomio de secuencia de informacin
X ( p ) x1 p k 1 x2 p k 2 x3 p k 3 ... xk 1 p xk
Se cumple
C X ( p) X ( p) g ( p)
Transmisin de Datos (JoseM.Martinez@uam.es, 2011-2012)

Codificacin de canal (95)

Escuela Politcnica Superior

Universidad Autnoma de Madrid

Cdigos cclicos: ejemplo (I)


Cdigo cclico (7,4) g(p) de grado 3
p 7 1 a ( p ) b( p ) ... g ( p )
p 7 1 ( p 1) ( p 3 p 2 1) ( p 3 p 1)
g ( p)

g ( p)

C ( p ) X ( p ) ( p p 1)
3

X ( p ) x1 p 3 x2 p 2 x3 p x4
Tabla de 16 palabras mensaje (0000-1111) a cdigo

Transmisin de Datos (JoseM.Martinez@uam.es, 2011-2012)

Codificacin de canal (96)

48

Escuela Politcnica Superior

Universidad Autnoma de Madrid

Cdigos cclicos: ejemplo (II)


C ( p ) X ( p ) ( p 3 p 2 1)

0000

0000000

X ( p ) x1 p 3 x2 p 2 x3 p x4

0001

0001101

0010

0011010

0011

0010111

1010 => X ( p ) p 3 p

0100

0110100

C ( p ) ( p 3 p )( p 3 p 2 1)

0101

0111001

0110

0101110

0111

0100011

1000

1101000

1001

1100101

1010

1110010

No sistemtico
Cumple la propiedad deseable

1011

1111111

1100

1011100

X=x1+x2 => C=c1+c2


Todos los cclicos

1101

1010001

1110

1000110

1111

1001011

p6 p 4 p5 p3 p3 p
p p p p
6

Transmisin de Datos (JoseM.Martinez@uam.es, 2011-2012)

Codificacin de canal (97)

Escuela Politcnica Superior

Universidad Autnoma de Madrid

Ejercicio propuesto 15 - Cdigos cclicos


Calcular el otro cdigo cclico (7,4)
p 7 1 a( p) b( p) ... g ( p)
p 7 1 ( p 1) ( p 3 p 2 1) ( p 3 p 1)
g ( p)

g ( p)

C ( p) X ( p) ( p 3 p 1)

Transmisin de Datos (JoseM.Martinez@uam.es, 2011-2012)

Codificacin de canal (98)

49

Escuela Politcnica Superior

Universidad Autnoma de Madrid

Cdigos cclicos: Matriz generatriz sistemtica


Los cdigos cclicos son lineales y por lo tanto se pueden
definir igualmente con G (y H). Si bien para un cdigo lineal
no existe una nica G, si es cierto que existe una nica G
sistemtica.
g1

g
G [ I k | P] 2
...
g
k
gi (00100 | pi ,1 pi ,2 ... pi , n k ) 1 i k
i

gi ( p) p ni pi ,1 p nk 1 pi , 2 p nk 2 ... pi ,nk X i ( p) g ( p)

p ni mod g ( p )

Transmisin de Datos (JoseM.Martinez@uam.es, 2011-2012)

Escuela Politcnica Superior

Codificacin de canal (99)

Universidad Autnoma de Madrid

Cdigos cclicos: Matriz generatriz sistemtica


- ejemplo
Calcular G sistemtica
(7,4) g ( p ) p 3 p 2 1
n7

p 6 mod( p 3 p 2 1) p 2 p

i 1,...,4

p 5 mod( p 3 p 2 1) p 1
p 4 mod( p 3 p 2 1) p 2 p 1
p 3 mod( p 3 p 2 1) p 2 1

1
0
G
0

0 0 0 1 1 0
1 0 0 0 1 1
0 1 0 1 1 1

0 0 1 1 0 1

Transmisin de Datos (JoseM.Martinez@uam.es, 2011-2012)

Codificacin de canal (100)

50

Escuela Politcnica Superior

Universidad Autnoma de Madrid

Ejercicio de clase 20 - Cdigos cclicos: Matriz


generatriz sistemtica
Calcular G sistemtica
(7, 4) g ( p) p 3 p 1
n7
i 1,..., 4

Transmisin de Datos (JoseM.Martinez@uam.es, 2011-2012)

Escuela Politcnica Superior

Codificacin de canal (101)

Universidad Autnoma de Madrid

Ejercicio de clase 20 - Cdigos cclicos: Matriz


generatriz sistemtica - solucin
Calcular G sistemtica

Transmisin de Datos (JoseM.Martinez@uam.es, 2011-2012)

Codificacin de canal (102)

51

Escuela Politcnica Superior

Universidad Autnoma de Madrid

Cdigos cclicos: Cdigos BCH


Los cdigos BCH (Bose, Chaudhuri, Hocquenghem) son una subclase de
cdigos cclicos que se pueden disear para corregir t errores. Su
atractivo reside en la existencia de algoritmos eficientes de
decodificacin (y correccin) basados en las propiedades de los
polinomios (no en sndrome y matriz estndar).
Para cada {m,t} existe un BCH con los siguientes parmetros:

n 2m 1
n k mt
d min 2t 1
Al ser {m,t} arbitrarios existe un gran nmero de posibilidades de cdigos
BCH.
Se encuentran tabulados
o Table 9.1 del Proakis (coeficientes de g(p) en octal)
Transmisin de Datos (JoseM.Martinez@uam.es, 2011-2012)

Escuela Politcnica Superior

Codificacin de canal (103)

Universidad Autnoma de Madrid

Cdigos cclicos: Reed-Solomon


Subconjunto de cdigos BCH no binarios
Para cada c=(c1,c2,cn) los elementos ci pertenecen a un alfabeto q-ario.
o Generalmente q=2k.

k bits de informacin se mapean a un elemento c i


K elementos ci se codifican con N elementos ci
o RS(N,K)

N q 1 2k 1
K 1, 2,..., N 2
Dmin N K 1
Rc

K
N

Funcionan bien en combinacin con modulaciones q-arias.


Funcionan bien frente a rfagas de errores, pues una rfaga afecta a
pocos smbolos q-arios, de forma que el cdigo puede corregir esos pocos
smbolos (muchos si binario)
Se usan en los CDs de audio (audio-CD, no mp3)
Transmisin de Datos (JoseM.Martinez@uam.es, 2011-2012)

Codificacin de canal (104)

52

Escuela Politcnica Superior

Universidad Autnoma de Madrid

ndice
Introduccin
Cdigos de canal
o
o
o

Introduccin
Cdigos lineales
Cdigos cclicos
Introduccin
Estructura
Teorema del polinomio generador
Matriz generadora sistemtica
Cdigos BCH
Cdigos R-S

o
o

Cdigos convolucionales
Cdigos basados en combinacin

Modulacin codificada
Aplicaciones de cdigos de canal
Transmisin de Datos (JoseM.Martinez@uam.es, 2011-2012)

Escuela Politcnica Superior

Codificacin de canal (105)

Universidad Autnoma de Madrid

ndice
Introduccin
Cdigos de canal
o
o
o
o

Introduccin
Cdigos lineales
Cdigos cclicos
Cdigos convolucionales
Introduccin
Representacin: mquina de estados, secuencias generadoras, diagrama
de estados, diagrama Trellis
Codificacin
Cdigos catastrficos
Decodificacin ptima: algoritmo de Viterbi
Funcin de transferencia

Cdigos basados en combinacin

Modulacin codificada
Aplicaciones de cdigos de canal
Transmisin de Datos (JoseM.Martinez@uam.es, 2011-2012)

Codificacin de canal (106)

53

Escuela Politcnica Superior

Universidad Autnoma de Madrid

Cdigos convolucionales: Introduccin


Los cdigos convolucionales se diferencian principalmente de
los lineales de bloque por tener memoria.
Al igual que los cdigos de bloque, se asignan n bits de salida
cada bloque de k bits de entrada, pero los n bits no
dependen nicamente de los k actuales sino de un nmero
entero de bloques (L) de k bits de entrada.
Los cdigos convolucionales dependen por lo tanto de una
serie de estados anteriores ((L-1)*k) por lo que su
codificacin se puede ver como una mquina de estados
finitos.
Cdigo lineal: f(k bits)
k bits
n bits
Cdigos convolucionales: f(L.k bits)
Transmisin de Datos (JoseM.Martinez@uam.es, 2011-2012)

Escuela Politcnica Superior

Codificacin de canal (107)

Universidad Autnoma de Madrid

Cdigos convolucionales: Representacin


Al tratarse de una mquina de estados finitos, se puede
representar de esa forma, pero no es la nica. Un cdigo
convolucional se suele representar normalmente de una de
las siguientes cuatro representaciones equivalentes (cada
una apropiada para un aspecto, interpretacin,
implementacin, )

Mquina de estados
Secuencias generadoras
Diagrama de estados
Diagrama Trellis

Transmisin de Datos (JoseM.Martinez@uam.es, 2011-2012)

Codificacin de canal (108)

54

Escuela Politcnica Superior

Universidad Autnoma de Madrid

Cdigos convolucionales: Mquina de estados

L
k bits

1 2 ....k

1 2 ....k

1 2 ....k

. . . . . . . . . . . . .
1

n-1 n

Los n bits de salida no solamente dependen de los k de


entrada, sino tambin de los (L-1)k anteriores.
Los registros son una mquina de estados con 2k ( L1) estados
Transmisin de Datos (JoseM.Martinez@uam.es, 2011-2012)

Codificacin de canal (109)

Escuela Politcnica Superior

Universidad Autnoma de Madrid

Cdigos convolucionales: Mquina de estados


ejemplo

k=1

L=3

estado

1
n=2
2

Transmisin de Datos (JoseM.Martinez@uam.es, 2011-2012)

Codificacin de canal (110)

55

Escuela Politcnica Superior

Universidad Autnoma de Madrid

Cdigos convolucionales: Secuencias generadoras


Otra forma de representar un cdigo convolucional en lugar de
la mquina de estado son las secuencias generadoras
g1..gn cada una con kL elementos binarios
Cada gij=1 (i=1..n, j=1..kL) indica que la celda j de la mquina de
estados est conectada a la salida i

Transmisin de Datos (JoseM.Martinez@uam.es, 2011-2012)

Codificacin de canal (111)

Escuela Politcnica Superior

Universidad Autnoma de Madrid

Cdigos convolucionales: Secuencias


generadoras - ejemplo

k=1

L=3

Secuencias generadoras:
estado

Transmisin de Datos (JoseM.Martinez@uam.es, 2011-2012)

g1=[1 0 1]

g2=[1 1 1]

Codificacin de canal (112)

56

Escuela Politcnica Superior

Universidad Autnoma de Madrid

Cdigos convolucionales: Diagrama de estados


Como los cdigos convolucionales tienen memoria finita se
pueden representar (como cualquier mquina de estados
finitos) con un diagrama de estados.
2k(L-1) estados
Cada uno de los estados tendr 2k transiciones de entrada y 2k
transiciones de salida.

Transmisin de Datos (JoseM.Martinez@uam.es, 2011-2012)

Codificacin de canal (113)

Escuela Politcnica Superior

Universidad Autnoma de Madrid

Cdigos convolucionales: Diagrama de estados ejemplo


k=1

L=3

2( L 1) k 22 4 estados/nodos
2k 2 arcos (entrada y salida)

estado

0/00
00
0/11

1/11

0/01
01

10
1/00

0/10

1/10
11
1/01

Transmisin de Datos (JoseM.Martinez@uam.es, 2011-2012)

Codificacin de canal (114)

57

Escuela Politcnica Superior

Universidad Autnoma de Madrid

Cdigos convolucionales: Diagrama de Trellis


Otra forma de especificar los cdigos convolucionales es su
Diagrama de Trellis (enrejado)
Representa la transicin entre estados segn evoluciona la
codificacin
Se parte siempre del reposo (los Lk bits a cero)
2k(L-1) estados
En rgimen permanente cada uno de los estados tendr 2k
transiciones de entrada y 2k transiciones de salida.

Representacin grfica
Si k=1, solamente hay dos transiciones, de forma que se puede
representar con lneas continuas/discontinuas cada transicin
debida a una entrada {0,1}
Sobre cada transicin se indica la salida que genera esa transicin
o se ver su utilidad en decodificacin

Es recomendable hacer uso de colores


Transmisin de Datos (JoseM.Martinez@uam.es, 2011-2012)

Codificacin de canal (115)

Escuela Politcnica Superior

Universidad Autnoma de Madrid

Cdigos convolucionales: Diagrama de Trellis ejemplo


L=3
k=1

0
00

00

00

00

11

11
01

00
11

11
01

11
00
01

11
00
01

0/00
0/11

0
1

10

10
10

10

10

0/10

10

11

0
1

01

Transmisin de Datos (JoseM.Martinez@uam.es, 2011-2012)

01

0
0
0/01
1/00

1
1

1/11

1
0
1/10

1/01

Codificacin de canal (116)

58

Escuela Politcnica Superior

Universidad Autnoma de Madrid

Ejercicio propuesto 16 - Cdigos convolucionales:


representacin
Sea un cdigo convolucional (3,1) con g1=[1 1 0], g2=[0 1 0], y
g3=[1 0 1]. Dibujar la mquina de estados, el diagrama de
estados y el diagrama Trellis de este cdigo (Septiembre
2005)

Transmisin de Datos (JoseM.Martinez@uam.es, 2011-2012)

Escuela Politcnica Superior

Codificacin de canal (117)

Universidad Autnoma de Madrid

Cdigos convolucionales: Codificacin


1. Se parte del estado de reposo (todos los registros a 0)
2. El mensaje de entrada se divide en bloques de k bits.
Se asume mensaje de un nmero de bits mltiplo de k.

3. Cada k bits de entrada se calculan (y transmiten) n bits de


salida.
4. Al terminar el mensaje se aaden (L-1)k ceros y se
generan por lo tanto (L-1)n bits de salida quedando todos
los registros de nuevo en el estado de reposo a la espera
de un nuevo mensaje.

Transmisin de Datos (JoseM.Martinez@uam.es, 2011-2012)

Codificacin de canal (118)

59

Escuela Politcnica Superior

Universidad Autnoma de Madrid

Cdigos convolucionales: Codificacin - ejemplo


L=3

k=1

Codificar X={1101011} con el


cdigo convolucional descrito
mediante la mquina de estados del
diagrama.

1
2

Transmisin de Datos (JoseM.Martinez@uam.es, 2011-2012)

Codificacin de canal (119)

Escuela Politcnica Superior

Universidad Autnoma de Madrid

Cdigos convolucionales: Codificacin ejemplo


L=3
k=1

Codificar X={1101011}
1

0
00

00

00

00

11
g2=[111]

11
01

00
11

11

g1=[101]
01

11
00
01

11
00
01

0/00
0/11

0
1

10

10
10

10

10

0/10

10

11

0
1

01

Transmisin de Datos (JoseM.Martinez@uam.es, 2011-2012)

01

0
0
0/01
1/00

1
1

1/11

1
0
1/10

1/01

Codificacin de canal (120)

60

Escuela Politcnica Superior

Universidad Autnoma de Madrid

Cdigos convolucionales: Codificacin ejemplo solucin


k=1

X={1101011}
Se parte del estado de reposo
Al final hay que aadir (L-1)k ceros
= (3-1)1 ceros =2 ceros
X*={1101011.00}

C={11.10.10.00.01.00.10.10.11}

L=3

1
2
Estado

Bit entrada

Salida

00

11

10

10

11

10

01

00

10

01

01

00

10

10

11

0*

10

01

0*

11

00 (reposo)
Transmisin de Datos (JoseM.Martinez@uam.es, 2011-2012)

Escuela Politcnica Superior

Codificacin de canal (121)

Universidad Autnoma de Madrid

Ejercicio de clase 21 - Cdigos convolucionales:


Codificacin
L=3
k=1

Codificar X={1010101} con el


cdigo convolucional descrito
mediante la mquina de estados del
diagrama.

Transmisin de Datos (JoseM.Martinez@uam.es, 2011-2012)

1
2

Codificacin de canal (122)

61

Escuela Politcnica Superior

Universidad Autnoma de Madrid

Ejercicio de clase 21 - Cdigos convolucionales:


Codificacin - solucin
L=3
k=1

X={1010101}
1
Estado

Transmisin de Datos (JoseM.Martinez@uam.es, 2011-2012)

Escuela Politcnica Superior

Bit entrada

Salida

Codificacin de canal (123)

Universidad Autnoma de Madrid

Ejercicio propuesto 17 - Cdigos convolucionales:


codificacin
Para el cdigo convolucional (3,1) con g1=[1 1 0], g2=[0 1 0], y
g3=[1 0 1] (ejercicio propuesto anterior). Codificar la
secuencia de informacin X={1011} (Septiembre 2005)

Transmisin de Datos (JoseM.Martinez@uam.es, 2011-2012)

Codificacin de canal (124)

62

Escuela Politcnica Superior

Universidad Autnoma de Madrid

Cdigos convolucionales: Cdigos catastrficos


Los cdigos convolucionales buscan mapear secuencias de
informacin a palabras cdigo lo ms diferentes posible.
Cuando secuencias de informacin muy distintas se mapean a
cdigos con pocas diferencias tenemos los cdigos
catastrficos que como es lgico deben de ser evitados.

Transmisin de Datos (JoseM.Martinez@uam.es, 2011-2012)

Codificacin de canal (125)

Escuela Politcnica Superior

Universidad Autnoma de Madrid

Cdigos convolucionales: Cdigos


catastrficos ejemplo

k=1

L=3

estado

g1=[1 1 0]
n=2

Transmisin de Datos (JoseM.Martinez@uam.es, 2011-2012)

g2=[0 1 1]

Codificacin de canal (126)

63

Escuela Politcnica Superior

Universidad Autnoma de Madrid

Cdigos convolucionales: Cdigos


catastrficos ejemplo - solucin
L=3

k=1

estado

g2=[0 1 1]
n=2

Si x={111111}
x={11111100}
c={10.01.00.00..00.00.10.01)
d=4

g1=[1 1 0]

Si x1={000000}
x1={00000000}
c1={00.00.00.00..00.00.00.00)
d=0

Muy poco diferentes para


d(x,x1)=longitud de la secuencia
Transmisin de Datos (JoseM.Martinez@uam.es, 2011-2012)

Escuela Politcnica Superior

Codificacin de canal (127)

Universidad Autnoma de Madrid

Cdigos convolucionales: Decodificacin


En decodificacin de cdigos de bloque se hablaba de decodificacin
blanda (soft) basada en distancia eucldea, y decodificacin dura (hard)
basada en distancia Hamming de cada componente individual.
En ambos casos se buscaba la secuencia que estaba a una distancia
mnima de una secuencia posible (palabra cdigo), decodificndose esa
(con posibilidad de equivocacin).

En cdigos convolucionales esto es equivalente a buscar una secuencia a


distancia mnima en el Trellis, o lo que es lo mismo, la secuencia de
mxima verosimilitud (ML: Maximum-Likelihood).
Por lo tanto se tiene que hacer uso de un algoritmo de bsqueda en el
Trellis de esa secuencia de ML.
El algoritmo ptimo ms popular (y costoso e ineficiente) es el algoritmo de
Viterbi, que en decodificacin de cdigos convolucionales se suele usar en
modalidad dura (hard).
o El algoritmo de Viterbi aparece en muchos temas de seal: IES, reconocimiento
de voz, clasificacin de patrones, .

Transmisin de Datos (JoseM.Martinez@uam.es, 2011-2012)

Codificacin de canal (128)

64

Escuela Politcnica Superior

Universidad Autnoma de Madrid

Cdigos convolucionales: Decodificacin Viterbi


dura (I)
El objetivo es encontrar la secuencia codificada c a mnima
distancia Hamming de la secuencia recibida y (tras decisin
dura => por umbral bit a bit)
Habr m saltos, cada uno correspondiente a n bits de salida
(equivalentes a k bits de entrada)
o Cada secuencia a decodificar tendr por tanto m.n bits y generar m.k
bits de salida decodificada
o Cada subsecuencia de n bits ser yi y se buscar la ci posible que se
encuentre a mnima distancia

Para cada salto i (1im) se buscar dH(cj,yi) (j=[1..estados*ramas])


Para la secuencia y de entrada se buscar aquella secuencia
codificada posible c, tal que dH(c,y) sea mnima
o Si fuese decodificacin blanda sera igual pero con distancia eucldea y
espacio n-dimensional.

Transmisin de Datos (JoseM.Martinez@uam.es, 2011-2012)

Escuela Politcnica Superior

Codificacin de canal (129)

Universidad Autnoma de Madrid

Cdigos convolucionales: Decodificacin Viterbi


dura (II)
El problema genrico a resolver es por lo tanto:
Dado un vector de entrada y (recibido y decodificado duro) hay que
encontrar el camino a travs del Trellis (posibilidades de
codificacin) que empezando en el estado nulo, vuelva al estado
nulo tras m saltos y cuya distancia sea la mnima con alguna
secuencia posible c.
El problema se puede resolver fcilmente gracias a que la distancia
d(c,y) es suma de di(ci,yi) independientes.

El nmero de ramas que entran (y salen) de cada estado del


Trellis (en permanente) es 2k, siendo 2(L-1)k el nmero de
estados.

Transmisin de Datos (JoseM.Martinez@uam.es, 2011-2012)

Codificacin de canal (130)

65

Escuela Politcnica Superior

Universidad Autnoma de Madrid

Cdigos convolucionales: Decodificacin Viterbi dura (III)


Sea i-1 el conjunto de 2k estados (de entrada) supervivientes conectados
al estado Si=l (1im)
i=0 => estado de reposo previo
El camino ptimo S0->Si-1 = se denomina (camino) superviviente.

Si el camino S0->Si=l es el camino ptimo (o uno de ellos) entonces tiene


que ser la concatenacin del camino S0->Si-1= ( i-1) y la rama
ptima entre el Si-1= (o uno de ellos) (superviviente de distancia
mnima) y el estado Si=l.
Aquella que tenga distancia mnima entre c i e yj.

Por lo tanto, para calcular el superviviente de Si=l es suficiente tener los


supervivientes de i-1 y las mtricas para todo Si-1=, as como las
distancias de todos los caminos i-1 -> Si
Se selecciona como superviviente el (2 k) de mnima mtrica (o varios si la
misma)

Se empieza en S0=0 y se termina en Sm=0, siendo el ltimo superviviente


el camino ptimo (mxima verosimilitud)
(S0=0,Si=l)=min i-1{(S0=0,Si-1= )+(Si-1= ,Si= l)}
Transmisin de Datos (JoseM.Martinez@uam.es, 2011-2012)

Escuela Politcnica Superior

Codificacin de canal (131)

Universidad Autnoma de Madrid

Cdigos convolucionales: Algoritmo Viterbi para


decodificacin ptima de cdigo convolucional
Sea la secuencia recibida y (tras decisin por umbral bit a bit)
1. y se divide en m subsecuencias yi de n bits
2. Se dibuja el Trellis para m transiciones. Las (L-1) ltimas solamente
transiciones correspondientes a subsecuencias de entrada de ceros
3. Se empieza en S0(solamente en estado 0) con mtrica
acumulada=0
4. Se calcula cada transicin {si} {si+1}
5. Se suman los acumulados de cada estado de {si} con la distancias
asociadas a cada transicin para calcular todos los candidatos
acumulados en si+1.
6. Para cada s si+1 se eligen los caminos que dan menor acumulado
(supervivientes): mnima mtrica
7. Si he terminado (i=m) 8, si no i++ 4
8. Voy hacia atrs por el superviviente para calcular la secuencia de
mxima verosimilitud y su mensaje de informacin asociado (bits de
entrada que generan cada transicin)
Transmisin de Datos (JoseM.Martinez@uam.es, 2011-2012)

Codificacin de canal (132)

66

Escuela Politcnica Superior

Universidad Autnoma de Madrid

Cdigos convolucionales: Decodificacin Viterbi


ejemplo
L=3
k=1

Para el cdigo
descrito por la
mquina de
estados y Trellis
de la derecha
decodificar la
secuencia
y=

1
2

00

0
4 0
0

1
1

01

0
0
11

01

2
0
0
1
1

0
0
11
11

00
01

1
00 1
01

1
10 0

10

{01.10.11.11.01.00.01} 10
1
0

11

0
1

10

01

01

Transmisin de Datos (JoseM.Martinez@uam.es, 2011-2012)

Codificacin de canal (133)

Escuela Politcnica Superior

Universidad Autnoma de Madrid

Cdigos convolucionales: Decodificacin Viterbi


ejemplo
L=3
k=1

Para el cdigo descrito por


la mquina de estados y
Trellis de la derecha
decodificar la secuencia
y= {01.10.11.11.01.00.01}
La secuencia de ML es
c={11.10.10.11.00.00.00}
y el mensaje decodificado
m={1.1.0.0.0}
Mensaje emitido ms
probable
dH(c,y)=4
o No existe ninguna otra
posible secuencia c
en el Trellis con menor
distancia
o En otros casos podra
ser igual

1
2

00

0
4 0
0

01

1
1

0
0
11

01

2
0
0
1
1

0
0
11
11

00
01

1
00 1
01

1
10 0

10

10

1
0

11

Transmisin de Datos (JoseM.Martinez@uam.es, 2011-2012)

0
1

01

10
01

Codificacin de canal (134)

67

Escuela Politcnica Superior

Universidad Autnoma de Madrid

Ejercicio de clase 22 - Cdigos convolucionales:


Decodificacin Viterbi
L=3
k=1

Para el cdigo
descrito por la
mquina de
estados y Trellis
de la derecha
decodificar la
secuencia
y=

1
2

00

0
4 0
0

01

1
1

0
0
11

01

2
0
0
1
1

0
0
11
11

00
01

1
00 1
01

1
10 0

10

{11.01.11.00.11.01.11} 10
1
0

11

0
1

01

Transmisin de Datos (JoseM.Martinez@uam.es, 2011-2012)

Escuela Politcnica Superior

10
01

Codificacin de canal (135)

Universidad Autnoma de Madrid

Ejercicio de clase 22 - Cdigos convolucionales:


Decodificacin Viterbi - solucin L=3
k=1

Para el cdigo descrito


por la mquina de
estados y Trellis de la
derecha decodificar la
secuencia
y= {11.01.11.00.11.01.11}

Transmisin de Datos (JoseM.Martinez@uam.es, 2011-2012)

1
2

Codificacin de canal (136)

68

Escuela Politcnica Superior

Universidad Autnoma de Madrid

Ejercicio propuesto 18 - Cdigos convolucionales:


Decodificacin Viterbi
Para el cdigo convolucional (3,1) con g1=[1 1 0], g2=[0 1 0], y
g3=[1 0 1] y habiendo codificado la secuencia de
informacin X={1001} (ejercicio propuesto anterior), se
recibe la secuencia 101101100010001000. Decodifique la
secuencia de informacin recuperada mediante el algoritmo
de Viterbi. (Septiembre 2005)

Transmisin de Datos (JoseM.Martinez@uam.es, 2011-2012)

Escuela Politcnica Superior

Codificacin de canal (137)

Universidad Autnoma de Madrid

Cdigos convolucionales: Decodificacin Viterbi


consideraciones prcticas
El problema del algoritmo de Viterbi es el retardo y las necesidades de
memoria, ya que no se puede empezar a decodificar hasta tener toda
la secuencia transmitida y hay que almacenar todos los candidatos.
Adems las secuencias de cdigos convolucionales suelen ser largas
(para aprovechar mejor las propiedades de los cdigos).
Se suelen buscar soluciones subptimas, siendo una de ellas la
truncacin camino-memoria.
Se decide cada saltos y el resto de la secuencia no vara la decisin
tomada.
El retardo es menor (n bits de salida, k bits de entrada) y solamente es
necesaria memoria para los supervivientes de estados (ms los
intermedios hasta la decisin).
Simulaciones han demostrado que para 5L la degradacin en el
rendimiento es despreciable.
A mayor tamao de la secuencia de codificacin Viterbi se comporta peor,
de forma que para longitudes muy grandes se utilizan otros esquemas de
bsqueda de camino de mxima verosimilitud subptimos.

Transmisin de Datos (JoseM.Martinez@uam.es, 2011-2012)

Codificacin de canal (138)

69

Escuela Politcnica Superior

Universidad Autnoma de Madrid

Cdigos convolucionales: Funcin de transferencia


La funcin de transferencia de un cdigo convolucional proporciona informacin
sobre todos los caminos a travs del Trellis que empiezan en el estado nulo y
vuelven a l
tras salir del mismo => se ignoran los bucles del estado nulo

Segn lo visto anteriormente cualquier secuencia cdigo de un convolucional es un


cambio a travs del Trellis que empieza en el estado nulo y vuelve a l
Para obtener la funcin de transferencia se divide el estado nulo en dos: partida y
llegada
Para cada arco conectando dos estados se define una funcin D NJ
: nmero de 1s en la secuencia de salida
: nmero de 1s en la secuencia de entrada

La funcin de transferencia de un cdigo convolucional es la funcin de


transferencia del grafo del Trellis entre dos estado nulos y se denota por
T(D,N,J).
Reglas de obtencin de funciones de transferencia en grafos
o Matemtica discreta

Cada elemento de T(D,N,J) se corresponde con un camino nulo-nulo (salvo el


bucle nulo)
El exponente de D es el nmero de 1s en la palabra cdigo correspondiente a ese
camino (su distancia Hamming)
El exponente de N es el nmero de 1s en la palabra mensaje correspondiente
El exponente de J son las ramas (saltos) entre esos dos estados para cada camino
Transmisin de Datos (JoseM.Martinez@uam.es, 2011-2012)

Codificacin de canal (139)

Escuela Politcnica Superior

Universidad Autnoma de Madrid

Cdigos convolucionales: Funcin de transferencia


ejemplo
L=3
k=1

Para el cdigo
descrito por la
mquina de
estados y Trellis
de la derecha
calcular la funcin
de transferencia

1
2

0
00
01

0
0
1
1

0
0
11
01

0
0
1
1

11

0
0
11

00
01

1
00 1
01

1
10 0

10

10

1
0

11

0
1

Transmisin de Datos (JoseM.Martinez@uam.es, 2011-2012)

01

10
01

Codificacin de canal (140)

70

Escuela Politcnica Superior

Universidad Autnoma de Madrid

Cdigos convolucionales: Funcin de transferencia


ejemplo solucin (I)
Estados

00 a (a, a)
01 b
10 c
11 d

a -> a (se ignora)


a -> c (1/11)
c ->
b (0/01) ->
o a (0/11)
o c (1/00)

d (1/10) ->
o b (0/10)
o d (1/01)
Transmisin de Datos (JoseM.Martinez@uam.es, 2011-2012)

Escuela Politcnica Superior

Codificacin de canal (141)

Universidad Autnoma de Madrid

Cdigos convolucionales: Funcin de transferencia


ejemplo solucin (II)
Ecuaciones

Xc=Xa D2NJ + Xb NJ
Xb=Xc DJ + Xd DJ
Xd = Xc DNJ + Xd DNJ
Xa = Xb D2J

Xa=(Xc-XbNJ)/(D2NJ)
[1]
Xb=XcDJ+XdDJ
[2]
Xd=(XcDNJ)/(1-DNJ)
[3]
[2]+[3] => Xc=Xb(1-DNJ)/(DJ)
[4]
Xa = Xb D2J
[5]
[1]+[4]+[5] => Xa= {Xa(1-DNJ-DNJ2)}/{(D2J)(DJ)(D2NJ)}

Funcin de transferencia
T(D,N,J)=Xa/Xa = (D5NJ3)/(1-DNJ-DNJ2)
Transmisin de Datos (JoseM.Martinez@uam.es, 2011-2012)

Codificacin de canal (142)

71

Escuela Politcnica Superior

Universidad Autnoma de Madrid

Cdigos convolucionales: Funcin de transferencia


ejemplo solucin (III)
Funcin de transferencia
T(D,N,J)=Xa/Xa = (D5NJ3)/(1-DNJ-DNJ2)

En forma polinmica: T(D,N,J)=D5NJ3+D6N2J4+D6N2J5+D7N3J5+


D5NJ3: Existe un camino con 5 1s de salida, 1 1 de entrada y 3 saltos
o Como hay dos estados de reposo, dH=5=w
Esto es similar a la dmin=wmin en cdigos bloque

o El exponente mnimo de D se denomina distancia libre (dfree)


Juega un papel similar a la dmin de cdigos de bloque

o Este camino se corresponde a la entrada 1 (1.00 => 11.01.11)

T(D,N,J)=d>=dfree adDdNf(d)Jg(d)
o
o
o
o

adfree=1
ad={0,1} d>dfree
Pueden repetirse (caminos con igual nmero de 1s de salida, )
No aparecen todos los caminos correspondientes a una secuencia de entrada
debido a que hasta que no se sale del estado nulo no cuenta, y cuando se llega
a el se acaba de contar.
Por ejemplo: 01.00 sera D5NJ4, pero es D5NJ3

Transmisin de Datos (JoseM.Martinez@uam.es, 2011-2012)

Escuela Politcnica Superior

Codificacin de canal (143)

Universidad Autnoma de Madrid

ndice
Introduccin
Cdigos de canal
o
o
o
o

Introduccin
Cdigos lineales
Cdigos cclicos
Cdigos convolucionales
Introduccin
Representacin: mquina de estados, secuencias generadoras, diagrama de
estados, diagrama Trellis
Codificacin
Cdigos catastrficos
Decodificacin ptima: algoritmo de Viterbi
Funcin de transferencia

Cdigos basados en combinacin

Modulacin codificada
Aplicaciones de cdigos de canal
Transmisin de Datos (JoseM.Martinez@uam.es, 2011-2012)

Codificacin de canal (144)

72

Escuela Politcnica Superior

Universidad Autnoma de Madrid

ndice
Introduccin
Cdigos de canal
o
o
o
o
o

Introduccin
Cdigos lineales
Cdigos cclicos
Cdigos convolucionales
Cdigos basados en combinacin
Introduccin
Cdigos producto
Cdigos concatenados
Turbo cdigos

Modulacin codificada
Aplicaciones de cdigos de canal

Transmisin de Datos (JoseM.Martinez@uam.es, 2011-2012)

Escuela Politcnica Superior

Codificacin de canal (145)

Universidad Autnoma de Madrid

Cdigos basados en combinacin: Introduccin


El rendimiento de los cdigos de bloque y cdigos convolucionales
depende de las propiedades de distancia (dmin y dfree, respectivamente)

Para disear cdigos de bloque con d min grande es necesario aumentar n y


por tanto la complejidad del codec
Para disear cdigos convolucionales con d free grande es necesario
aumentar el nmero de estados, la longitud de la secuencia, lo que
aumenta los requisitos de memoria y el retardo

Para mejorar las prestaciones de un cdigo de canal sin aumentar


exponencialmente la complejidad se han propuesto soluciones basadas
en la combinacin de cdigos simples.
La decodificacin es generalmente subptima al basarse en la combinacin
de los decodificadores de los cdigos simples, aunque suele ser suficiente
en la mayora de los casos.

Las tipos de cdigos combinados ms usados son:


Cdigos Producto
Cdigos concatenados (serie)
Turbo Cdigos

Los cdigos en paralelo (generalmente con cdigos de bloque


sistemticos) aaden redundancia por diversidad pero no son en si una
combinacin de cdigos (aunque tienen su utilidad)
Transmisin de Datos (JoseM.Martinez@uam.es, 2011-2012)

Codificacin de canal (146)

73

Escuela Politcnica Superior

Universidad Autnoma de Madrid

Cdigos producto
Son cdigos combinados que se basan en dos
cdigos de bloque C1(n1,k1) y C2(n2,k2)
Podran usarse ms cdigos (dimensiones)

Se puede demostrar que la distancia mnima del


K2
cdigo producto es el producto de las
distancias mnimas de cada cdigo bloque.
Son similares a crucigramas, aplicndose los
cdigos a cada mensaje
Cada cdigo a una dimensin del mensaje
ordenado en una matriz

MATRIZ DE
DATOS

N2-K2

CHECKS ON C2

CHECKS
ON
C1

CHECKS
ON
CHECKS
N1-K1

K1

Se suelen usar cdigos sistemticos (la matriz


de datos no variar)
Transmisin de Datos (JoseM.Martinez@uam.es, 2011-2012)

Escuela Politcnica Superior

Codificacin de canal (147)

Universidad Autnoma de Madrid

Cdigos producto: Codificacin


Los datos del mensaje se agrupa en matrices de k1xk2 y se calculan
bits de redundancia aplicando el C1 por filas y el C2 por columnas (o
viceversa)
Aparecen unos bits de redundancia cruzada (producto) al proteger el
C1 los bits (n2-k2) de C2 y viceversa.
Tras la codificacin se transmite por filas o columnas.

Transmisin de Datos (JoseM.Martinez@uam.es, 2011-2012)

Codificacin de canal (148)

74

Escuela Politcnica Superior

Universidad Autnoma de Madrid

Cdigos producto: Codificacin ejemplo


Sean los cdigos definidos por las matrices

10001
G1 01001
00110

10001
G2 01011
00110

Codificar mediante el cdigo producto C1xC2 la secuencia de informacin


[100100001]

Transmisin de Datos (JoseM.Martinez@uam.es, 2011-2012)

Escuela Politcnica Superior

Codificacin de canal (149)

Universidad Autnoma de Madrid

Cdigos producto: Codificacin ejemplo - solucin


C1(5,3), C2(5,3) => el cdigo producto codifica bloques de 3x3 bits y
genera 25 bits (5x5)
X=[100100001] => [100; 100; 001]
100 xx
100 xx

CPxx 001xx

xxxxx
xxxxx

10001
10001

CP1x 00110

xxxxx
xxxxx

10001
10001

CP12 00110

10111
00000

100 xx
100 xx

CPx 2 001xx

101xx
000 xx

10001
10001

CP12 00110

10111
00000

Cf=[10001;10001;00110:10111;00000] (por filas)


Cc=[11010;00000;00110:00110;11010] (por columnas)

Transmisin de Datos (JoseM.Martinez@uam.es, 2011-2012)

Codificacin de canal (150)

75

Escuela Politcnica Superior

Universidad Autnoma de Madrid

Ejercicio de clase 23 - Cdigos producto:


Codificacin
Sean los cdigos definidos por las matrices

101
G1
011

10010
G2 01001
00111

Codificar mediante el cdigo producto C1xC2 la secuencia de informacin


[100101]

Transmisin de Datos (JoseM.Martinez@uam.es, 2011-2012)

Escuela Politcnica Superior

Codificacin de canal (151)

Universidad Autnoma de Madrid

Ejercicio de clase 23 - Cdigos producto:


Codificacin - solucin

Transmisin de Datos (JoseM.Martinez@uam.es, 2011-2012)

Codificacin de canal (152)

76

Escuela Politcnica Superior

Universidad Autnoma de Madrid

Cdigos producto: Decodificacin


Tras recibir los datos, se crea la matriz por filas o columnas
Se decodifica (subptimamente) iterativamente aplicando en serie
cada uno de los cdigos
o Se pueden usar tcnicas blandas para mayor flexibilidad en el proceso
iterativo
o Existen algoritmos complejos de decodificacin ptima

Transmisin de Datos (JoseM.Martinez@uam.es, 2011-2012)

Escuela Politcnica Superior

Codificacin de canal (153)

Universidad Autnoma de Madrid

Cdigos producto: Decodificacin - ejemplo


Sean los cdigos definidos por las matrices

10001
G1 01001
00111

10001
G2 01011
00110

Decodificar mediante el cdigo producto C1xC2 la secuencia recibida


[00001 11001 00010 10101 10010] (transmitida por filas).
Comentar los resultados siendo el mensaje transmitido [100100001]

Transmisin de Datos (JoseM.Martinez@uam.es, 2011-2012)

Codificacin de canal (154)

77

Escuela Politcnica Superior

Universidad Autnoma de Madrid

Cdigos producto: Decodificacin ejemplo


solucin (I)
Siendo X=[100100001] =>
Cf=[10001;10001;00110:10111;10011]
Si Y= [00001;11001;00010:10101;10010] el error ha sido
[10000;01000;00100:00010;00001] (todos los de 1 bit)
C1 y C2 => t=0 => no pueden corregir todos estos errores
Generar AS1 y AS2
Decodificar hasta que no haya cambios
Ver resultados

Transmisin de Datos (JoseM.Martinez@uam.es, 2011-2012)

Escuela Politcnica Superior

Codificacin de canal (155)

Universidad Autnoma de Madrid

Cdigos producto: Decodificacin ejemplo


solucin (II)
Generar AS1 y AS2
Decodificar hasta que no haya
cambios
Ver resultados
00000

00111
01001

01110
C1

10001
10110

11000
11111

00000

10000
AS1
00100

00010

00000

00110
01011

01101
C2
10001

10111
11010

11100

00000

10000
AS 2
01000

00100

00111 01001 01110 10001 10110 11000 11111

10111 11001 11110 00001 00110 01000 01111


00011 01101 01010 10101 10010 11100 11011

00101 01011 01100 10011 10100 11010 11101

00110 01011 01101 10001 10111 11010 11100

10110 11011 11101 00001 00111 01010 01100


01110 00011 00101 11001 11111 10010 10100

00010 01111 01001 10101 10011 11110 11000

Transmisin de Datos (JoseM.Martinez@uam.es, 2011-2012)

Codificacin de canal (156)

78

Escuela Politcnica Superior

Universidad Autnoma de Madrid

Cdigos producto: Decodificacin ejemplo


solucin (III)
Corregimos matriz recibida con AS1 y AS2
Recibida
C1: Filas
C2:Columnas C1:Filas
00001

11001
00010

10101
10010

10001

01001
00000

10001
10110

10111

00001
10000

10001
10110

00111

01001
00000

10001
10110

C2:Columnas

C1:Filas
00111

10001
00000

10001
10110

00111

10001
00000

10001
10110

Iguales
Transmitida
Secuencia recibida: [000.110.000]
Secuencia recuperada: [001.100.000]
Secuencia transmitida: [100.100.001]
De 3 errores se han corregido 1 !!!!
dmin1=2, dmin2=2, dminp=4
Decodificacin subptima

10001

10001
00110

10111
10011

Transmisin de Datos (JoseM.Martinez@uam.es, 2011-2012)

Escuela Politcnica Superior

Codificacin de canal (157)

Universidad Autnoma de Madrid

Ejercicio de clase 24 - Cdigos producto:


Decodificacin
Sean los cdigos definidos por las matrices

101
G1
011

10010
G2 01001
00111

Decodificar mediante el cdigo producto C1xC2 la secuencia recibida


Y=[11101 01001 00101] (por columnas).
Comentar los resultados siendo el mensaje transmitido [101110]

Transmisin de Datos (JoseM.Martinez@uam.es, 2011-2012)

Codificacin de canal (158)

79

Escuela Politcnica Superior

Universidad Autnoma de Madrid

Ejercicio de clase 24 - Cdigos producto:


Decodificacin solucin (I)

Transmisin de Datos (JoseM.Martinez@uam.es, 2011-2012)

Escuela Politcnica Superior

Codificacin de canal (159)

Universidad Autnoma de Madrid

Ejercicio de clase 24 - Cdigos producto:


Decodificacin - solucin (II)

Transmisin de Datos (JoseM.Martinez@uam.es, 2011-2012)

Codificacin de canal (160)

80

Escuela Politcnica Superior

Universidad Autnoma de Madrid

Ejercicio de clase 24 - Cdigos producto:


Decodificacin - solucin (III)

Transmisin de Datos (JoseM.Martinez@uam.es, 2011-2012)

Escuela Politcnica Superior

Codificacin de canal (161)

Universidad Autnoma de Madrid

Ejercicio propuesto 19 - Cdigos producto

Sean dos cdigos de bloque definidos por sus matrices


generatrices G1=[1 0 0 01; 0 1 0 0 1; 0 0 1 1 0] y G2 = [1 0
0 1 1 0 ; 0 1 0 0 1 1 ; 0 0 1 1 0 1].
Calcular las capacidades detectoras y correctoras de esos cdigos,
y del cdigo producto resultante de su combinacin (C1xC2).
Codificar para transmisin la secuencia de informacin [1 0 0 1 0 0 0
0 1 1 1 1 0 1 0 1 1 0] mediante el cdigo producto C1xC2.
Transmitiendo por filas, sea el patrn de error en el canal [1 0 0 0 0 ;
0 0 0 0 0 ; 0 1 0 0 0; 0 0 0 0 0 ; 0 0 0 0 0; 0 0 0 0 0] y [0 0 0 0 1; 0 1 0
0 0 ; 0 0 0 0 0; 0 0 0 0 0 ; 0 0 0 0 0; 0 0 0 0 0]. Calcular el bloque
recibido y proceder a su decodificacin.

Transmisin de Datos (JoseM.Martinez@uam.es, 2011-2012)

Codificacin de canal (162)

81

Escuela Politcnica Superior

Universidad Autnoma de Madrid

Cdigos producto: comparativa


Del ejemplo
Siendo X=[100100001] => Cf=[10001;10001;00110:10111;10011]
Si Y= [00001;11001;00010:10101;10010] el error ha sido
[10000;01000;00100:00010;00001] (todos los de 1 bit)

Secuencia transmitida: [100.100.001]


Secuencia recuperada CP: [001.100.000] 3 bits errneos
Secuencia recuperada C1: [100.010.001] 2 bits errneos
Secuencia recuperada C2: [100.100.001] 0 bits errneos

Pero todo depende del patrn de error


Para comparativas serias en simulaciones hay que reproducir
patrones de error (por definicin aleatorios)
o generadores de nmeros aleatorios con semilla
Transmisin de Datos (JoseM.Martinez@uam.es, 2011-2012)

Escuela Politcnica Superior

Codificacin de canal (163)

Universidad Autnoma de Madrid

Cdigos concatenados (I)


Consisten en la combinacin de dos cdigos en serie (en paralelo no
mejoran realmente, pero tambin tienen su utilidad al ahorrar tasa
binaria)
Cdigo externo (outer code)
Cdigo interno (inner code)

Siendo Rin la tasa del cdigo interno y Rout la del externo, la tasa del
cdigo concatenado ser Rcc= Rin Rout
El cdigo interno suele tener mayor impacto en la ejecucin global del
cdigo
Si los dos cdigos son de bloque, la distancia mnima del concatenado
es el producto de las distancias mnimas.

Transmisin de Datos (JoseM.Martinez@uam.es, 2011-2012)

Codificacin de canal (164)

82

Escuela Politcnica Superior

Universidad Autnoma de Madrid

Cdigos concatenados (II)


Normalmente el cdigo externo es un cdigo q-ario y el interno interno es un
cdigo binario (de bloque o convolucional)
El externo toma K bloques de k bits y genera N bloques de k bits (smbolos qarios)
o

Se suelen usar cdigos Reed-Solomon (cclico q-ario)

El interno toma cada bloque de k bits y genera bloques de n bits, por lo que al
modulador le entran bloques de n bits.
o

Se suelen usar cdigos convolucionales con decodificacin Viterbi blanda.


Input data
Outer
encoder
(N,K)

Inner
encoder
(n,k)

Modulator

Channel
Output data
Outer
decoder

Inner
decoder

Demodulator

Transmisin de Datos (JoseM.Martinez@uam.es, 2011-2012)

Escuela Politcnica Superior

Codificacin de canal (165)

Universidad Autnoma de Madrid

Turbo Cdigos: Introduccin (I)


Son una clase especial de cdigos concatenados (mejoran tambin en
combinacin paralela al combinarse con iteraciones con realimentacin)
Existe un entrelazador (interleaver) entre los dos cdigos
en serie
en paralelo.

Entrelazado (pseudo-aletario de varios miles de bits) permite un excelente


rendimiento con una baja SNR en cdigos cuyas palabras cdigos son muy
largas

Transmisin de Datos (JoseM.Martinez@uam.es, 2011-2012)

Codificacin de canal (166)

83

Escuela Politcnica Superior

Universidad Autnoma de Madrid

Turbo Cdigos: Codificacin (I)


La codificacin consiste en
dos cdigos
o Normalmente se suele usar el mismo cdigo (sistemtico)

un entrelazador de longitud N.

Los cdigos suelen ser cdigos convolucionales recursivos y


sistemticos (RSCC) de tasa
Los cdigos convolucionales recursivos no recursivos
existencia de realimentacin en el desplazamiento de los registros
o cdigo convolucional no recursivo FIR
o cdigo convolucional recursivo
IIR
recursivo

Information bits

Transmisin de Datos (JoseM.Martinez@uam.es, 2011-2012)

Escuela Politcnica Superior

Codificacin de canal (167)

Universidad Autnoma de Madrid

Turbo Cdigos: Codificacin (II)


Los N bits de informacin entran en el
primer codificador.
Los mismos bits de informacin son
entrelazados antes de entrar en el
segundo codificador
Despus de la codificacin
N bits de informacin
2N bits de chequeo de paridad

Un total de 3N bits, son transmitidos al


canal
Tasa R=1/3

Transmisin de Datos (JoseM.Martinez@uam.es, 2011-2012)

Codificacin de canal (168)

84

Escuela Politcnica Superior

Universidad Autnoma de Madrid

Turbo Cdigos: Entrelazador (interleaver)


El entrelazado es muy largo
del orden de miles de bits.

Entrelazado pseudoaleatorio
funciona bien

Se puede obtener alguna mejora en el cdigo con una eleccin


inteligente del mismo
Ms notable en un entrelazador de longitud corta.

Cdigos convolucionales no recursivos


secuencia de ceros de relleno en un mensaje garantiza que el encoder
vuelva al estado cero

Cdigos convolucionales recursivos


volver al estado cero requiere un relleno de la secuencia de informacin
con una secuencia distinta de cero.
Esto es debido a que en la mayora de los casos es imposible con un
entrelazado devolver dos cdigos con el estado todo ceros.

Transmisin de Datos (JoseM.Martinez@uam.es, 2011-2012)

Escuela Politcnica Superior

Codificacin de canal (169)

Universidad Autnoma de Madrid

Turbo Cdigos: Decodificacin (I)


Como est compuesto de 2 cdigos un algoritmo iterativo es
apropiado para la decodificacin
Cualquier mtodo de decodificacin que produzca la similitud
(likelihood) de los bits en la salida puede ser usado en un esquema
iterativo de decodificacin.
Uno de estos esquemas de decodificacin es el mtodo de
decodificacin maximum a posteriori (MAP) de Bahl, Cocke, Jelinek y
Raviv (BCJR) y variaciones de este.
Otro mtodo popular con una baja complejidad es el algoritmo de Viterbi
de salida blanda (Soft-Output Viterbi Algorithm SOVA)

Usando cualquiera de estos dos mtodos, las similitudes de los


diferentes bits son calculadas y pasadas al segundo decodificador.
El segundo decodificador, calcula los ratios de similitud y los pasa al
primer decodificador; este proceso se repite hasta que la similitud
sugiera una alta probabilidad de decodificacin correcta para esos
bits.

Transmisin de Datos (JoseM.Martinez@uam.es, 2011-2012)

Codificacin de canal (170)

85

Escuela Politcnica Superior

Universidad Autnoma de Madrid

Turbo Cdigos: Decodificacin (II)

ys: bits sistemticos informacin a transmitir


y1p: bits de paridad para el codificador 1
y2p: bits de paridad para el codificador 2
Le12: Informacin de similitud del decodificador 1 al 2
Le21: Informacin de similitud del decodificador 1 al 2

Transmisin de Datos (JoseM.Martinez@uam.es, 2011-2012)

Escuela Politcnica Superior

Codificacin de canal (171)

Universidad Autnoma de Madrid

Turbo Cdigos: Decodificacin (III)

ys: bits sistemticos informacin a transmitir


y1p: bits de paridad para el codificador 1
y2p: bits de paridad para el codificador 2
Le12: Informacin de similitud del decodificador 1 al 2
Le21: Informacin de similitud del decodificador 1 al 2

Transmisin de Datos (JoseM.Martinez@uam.es, 2011-2012)

Codificacin de canal (172)

86

Escuela Politcnica Superior

Universidad Autnoma de Madrid

Turbo Cdigos: Rendimiento (I)


Los Turbo Cdigos se caracterizan por un excelente rendimiento con una
baja SNR.
Es posible acercarse a 0.7dB del lmite de Shannon para una baja SNR

El rendimiento mejora con


el aumento de la longitud del entrelazador
el nmero de iteraciones en decodificacin.

El turbo cdigo original lo estudi Berrou et al. (1993) usando el


siguiente codificador convolucional recursivo y sistemtico
g1 =[1 0 0 0 1] hacia delante (octal21)
g2 =[1 1 1 1 1] hacia atrs (octal37)
Cdigo RSCC 21/37
N = 65536
R=1/2

Transmisin de Datos (JoseM.Martinez@uam.es, 2011-2012)

Escuela Politcnica Superior

Codificacin de canal (173)

Universidad Autnoma de Madrid

Turbo Cdigos. Rendimiento (II) *


El resultado del rendimiento del
algoritmo de decodificacin BCJR
Despus de 18 iteraciones, el
rendimiento de este cdigo est
a tan slo 0,7dB del lmite de
Shannon (Proakis2002)
La probabilidad de error decrece
de forma brusca hasta cierto
punto; despus de este punto, la
probabilidad de error decrece
muy despacio.
o

Aunque los turbo cdigos tenga


un excelente rendimiento, tienen
sin embargo, una distancia
mnima muy mala.

Transmisin de Datos (JoseM.Martinez@uam.es, 2011-2012)

Codificacin de canal (174)

87

Escuela Politcnica Superior

Universidad Autnoma de Madrid

Turbo Cdigos: Rendimiento (III) *


Rendimiento bueno vs distancia
mnima mala
el nmero de caminos con baja
distancia es muy pequeo la
multiplicidad de la distancia.

Se puede disear el turbo cdigo


con una distancia mnima mejor
un papel mayor de la
multiplicidad de la baja distancia

Con baja SNR


efecto de la multiplicidad es ms
importante en el rendimiento del
cdigo

Con alta SNR


la distancia mnima juega un
papel mayor

De esta manera, el rendimiento del


turbo cdigo con alta SNR decrece
Transmisin de Datos (JoseM.Martinez@uam.es, 2011-2012)

Escuela Politcnica Superior

Codificacin de canal (175)

Universidad Autnoma de Madrid

Turbo Cdigos: Rendimiento (IV) *

Comparacin
rendimiento del turbo
cdigo 37/21
rendimiento de un
cdigo convolucional
con tasa y longitud
constante igual a 14,
usando un decodificador
Viterbi de decisin
blanda.

Transmisin de Datos (JoseM.Martinez@uam.es, 2011-2012)

Codificacin de canal (176)

88

Escuela Politcnica Superior

Universidad Autnoma de Madrid

Turbo Cdigos: Ejemplos


http://www.comelec.enst.fr/turbocodes/turbo_notes_en.html
Ejemplo 1
Ejemplo 2
Ejemplo 3

Transmisin de Datos (JoseM.Martinez@uam.es, 2011-2012)

Escuela Politcnica Superior

Codificacin de canal (177)

Universidad Autnoma de Madrid

ndice
Introduccin
Cdigos de canal
o
o
o
o
o

Introduccin
Cdigos lineales
Cdigos cclicos
Cdigos convolucionales
Cdigos basados en combinacin
Introduccin
Cdigos productos
Cdigos concatenados
Turbo cdigos

Modulacin codificada
Aplicaciones de cdigos de canal

Transmisin de Datos (JoseM.Martinez@uam.es, 2011-2012)

Codificacin de canal (178)

89

Escuela Politcnica Superior

Universidad Autnoma de Madrid

ndice
Introduccin
Cdigos de canal
o
o
o
o
o

Introduccin
Cdigos lineales
Cdigos cclicos
Cdigos convolucionales
Cdigos basados en combinacin

Modulacin codificada
Aplicaciones de cdigos de canal

Transmisin de Datos (JoseM.Martinez@uam.es, 2011-2012)

Escuela Politcnica Superior

Codificacin de canal (179)

Universidad Autnoma de Madrid

ndice
Introduccin
Cdigos de canal
Modulacin codificada
o
o

Introduccin
Modulacin Codificada Trellis

Aplicaciones de cdigos de canal

Transmisin de Datos (JoseM.Martinez@uam.es, 2011-2012)

Codificacin de canal (180)

90

Escuela Politcnica Superior

Universidad Autnoma de Madrid

Modulacin Codificada: Introduccin (I)


El control de errores mediante codificacin de canal
Cdigos de bloque
Cdigos convolucionales
Cdigos combinados

implica
(+) Una reduccin en la relacin S/N requerida
o Ganancia de Codificacin Gc (dB).

(-) Un incremento del ancho de banda (por tasa binaria)


o Se incrementa (a igualdad de sistema de modulacin) por un factor de
1/Rc.
Rc=k/n: tasa del codificador de canal

Todo esto es aplicable en sistemas con suficiente ancho de


banda (comunicaciones espaciales) pero no es sistemas
con ancho de banda restringido (lnea telefnica).
Transmisin de Datos (JoseM.Martinez@uam.es, 2011-2012)

Escuela Politcnica Superior

Codificacin de canal (181)

Universidad Autnoma de Madrid

Modulacin Codificada: Introduccin (II)


Codificacin y Modulacin:
La tasa aumenta 1/Rc por lo que aumenta el ancho de banda
Si queremos que no aumente hay que pasar a un tipo distinto de
modulacin
o Ms eficiente en W => ms dimensiones
o Ms dimensiones implica menor distancia eucldea (ms Pe), pero se compensa
por el aumento de la distancia Hamming => el sistema completo mejora

Supongamos un sistema con modulacin (sin codificacin) 4-PSK,


consigue R/W=2 bits/seg/Hz para una probabilidad de error Pb = 10-6.
Para esta Pb la relacin S/N por bit es 10,5 dB.
Podemos reducir la relacin S/N utilizando seales codificadas pero sin que
aumente el ancho de banda.

Elegimos un cdigo con Rc = 2/3, debe ser acompaado de un incremento


en el nmero de smbolos.
pasamos de 4 smbolos (2 bits/smbolo) a 8 (3bits/smbolo).
requiere aumentar la S/N por bit en 4dB para mantener la Pb.
Para proporcionar beneficio, la Gc debe compensar esos 4dB, ms una
ganancia neta que justifique el complicar el sistema de transmisin (aadir
codificacin de canal y complicar la modulacin).
Transmisin de Datos (JoseM.Martinez@uam.es, 2011-2012)

Codificacin de canal (182)

91

Escuela Politcnica Superior

Universidad Autnoma de Madrid

Modulacin Codificada: Introduccin (III)


Si los procesos de modulacin y codificacin se realizan por separado:
se requieren cdigos muy potentes, con L grande, para compensar Gc.

Si la modulacin es parte integral de la codificacin:


se disea conjuntamente para incrementar la distancia Eucldea mnima
entre pares de seales codificadas.
se alcanzan altos valores Gc.

La clave es disear mtodos efectivos para mapear los bits codificados de


la seal.
maximizando la mnima distancia Eucldea entre smbolos.
En una opcin ms sistemtica que la codificacin Gray (minimizar el error
entre seales adyacentes)

La tcnica ms utilizada es la Modulacin Codificada Trellis (TCM Trellis


Coded Modulation-)
se basa en la particin de constelaciones

Transmisin de Datos (JoseM.Martinez@uam.es, 2011-2012)

Escuela Politcnica Superior

Codificacin de canal (183)

Universidad Autnoma de Madrid

Modulacin Codificada: TCM (Trellis Coded


Modulation)
La Modulacin Codificada Trellis es un mtodo sencillo para
obtener esquemas de modulacin codificada con un buen
rendimiento.
Parte de la particin de constelaciones
o Se basa en la idea de mapeo de particiones de conjunto [Ungerboek
1982].
o El objetivo es separar las constelaciones en diversos niveles de
particin en base a la mxima distancia entre las seales de cada nivel.
o La codificacin de canal seleccionar una particin (en funcin de sus
necesidades de tasa) que al tener sus seales ms alejadas dar lugar
a una mejor decisin entre la familia completa de la constelacin.

Se puede usar con cualquier tipo de cdigo de canal, pero suelen


usarse cdigos convolucionales (con decodificacin Viterbi blanda
sobre distancias eucldeas-).

Transmisin de Datos (JoseM.Martinez@uam.es, 2011-2012)

Codificacin de canal (184)

92

Escuela Politcnica Superior

Universidad Autnoma de Madrid

Modulacin Codificada: TCM - Particin 8-PSK


A cada nivel de particin aumenta
la distancia entre seales
d02= 0.585
d 12= 2
d 22= 4

Codificacin
La secuencia de bits asignada
a las ramas izquierda y
derecha produce etiquetas de
3 bits para los puntos de la
constelacin.
La asignacin de bits no es
importante hasta el momento
de construir el codificador.

Transmisin de Datos (JoseM.Martinez@uam.es, 2011-2012)

Escuela Politcnica Superior

Codificacin de canal (185)

Universidad Autnoma de Madrid

Modulacin Codificada: TCM - Particin 16-QAM

A cada nivel de particin, la distancia entre


seales aumenta en 21/2
di2= 2 di-12
Transmisin de Datos (JoseM.Martinez@uam.es, 2011-2012)

Codificacin de canal (186)

93

Escuela Politcnica Superior

Universidad Autnoma de Madrid

Modulacin Codificada: TCM - Particiones


En los dos ejemplos anteriores, se ha realizado una particin
hasta el lmite, donde cada subconjunto contiene slo un
punto. En general esto puede no ser necesario.
El grado en que se particiona la seal depende de las
caractersticas del cdigo.

Transmisin de Datos (JoseM.Martinez@uam.es, 2011-2012)

Escuela Politcnica Superior

Codificacin de canal (187)

Universidad Autnoma de Madrid

Modulacin Codificada: TCM Codificacin


Un grupo de m =k1 + k2 bits
se separa en dos grupos
de k1 y k2 bits.
Los k1 bits se codifican
en n bits.
Los n bits codificados se
usan para seleccionar
uno de los 2n posibles
subconjuntos en las
particiones.

Los k2 restantes se dejan sin


codificacin de canal
se utilizan para
seleccionar uno de los 2k2
puntos de la seal en
cada subconjunto.

Si k2=0 los m bits se codifican


con redundancia.
Por lo tanto hace falta una
constelacin capaz de
producir 2k2 puntos en un
nivel que tenga 2n
elementos: 2(n+k2).
Transmisin de Datos (JoseM.Martinez@uam.es, 2011-2012)

Codificacin de canal (188)

94

Escuela Politcnica Superior

Universidad Autnoma de Madrid

Modulacin Codificada: TCM Codificacin ejemplo (I)


Ungerboeck [1982] demostr que con n1=k1+1 y k2=1 y un
simple cdigo convolucional se obtiene un sistema TCM
con Gc entre 3 y 6 dB.
Para k1=1
Constelacin 8 puntos: 8-PSK
o 4 elementos en la particin
o 2 puntos en cada elemento

CC: valdra cualquier de Rc=1/2

Transmisin de Datos (JoseM.Martinez@uam.es, 2011-2012)

Escuela Politcnica Superior

Codificacin de canal (189)

Universidad Autnoma de Madrid

Modulacin Codificada: TCM Codificacin


ejemplo (II)

Transmisin de Datos (JoseM.Martinez@uam.es, 2011-2012)

Codificacin de canal (190)

95

Escuela Politcnica Superior

Universidad Autnoma de Madrid

Modulacin Codificada: TCM Codificacin


ejemplo (III)
El Trellis de la figura anterior es el Trellis del convolucional, siendo cada
pareja de ramas paralelas transiciones entre el mismo elemento de la
particin (-estado- definido por el bit k1) y duplicada por el bit k2.
Queda por describir como se asigna cada cdigo del Trellis a los puntos de
la constelacin:
Esta asignacin se realiza mediante reglas obtenidas por simulaciones y
heurstica (para cada caso)
o Separar al mximo las transiciones paralelas (nivel de puntos)
o Asignar el mismo elemento del nivel superior a las transiciones que tengan el
mismo destino (nivel de particin) [{C0=00,C2=10},{C1=01,C3=11}] ->
[B0=0,B1=1] (ver figura particin 8-PSK, la asignacin binaria se hace de
derecha a izquierda empezando por el nivel superior)

Si se seleccionase la 16-QAM habra varias posibilidades:


Desechando siempre seales que nunca se transmitiran (lo que sera
subptimo desde el punto de vista de rendimiento de la modulacin, pero
tendra un mejor comportamiento como cdigo de canal)

Transmisin de Datos (JoseM.Martinez@uam.es, 2011-2012)

Escuela Politcnica Superior

Codificacin de canal (191)

Universidad Autnoma de Madrid

Modulacin Codificada: TCM - Rendimiento


Para ver el rendimiento de una TCM se hace uso de una distancia mnima,
denominada en TCM Distancia Eucldea Libre (Dfed)
Esta distancia es la mnima (eucldea) entre dos caminos que parten de un
mismo nodo y vuelven a un mismo nodo.
Si bien pueden haber otros caminos, generalmente la mnima distancia se
da entre dos caminos paralelos, de forma que D fed suele ser la distancia
entre dos caminos paralelos.
o En el ejemplo visto Dfed=d2 (d22= 4 )
o Gc= duncoded2/ d22 = 2 ~ 3 dB ( a igual W, pero con mayor complejidad)

A mayor nmero de estados mayor Gc


o 8-256 estados => 3.6-5.75 dB

A nivel W (B), siendo m=k1+k2


Bsc=Bk1+Bk2
Bcc=Bsc/Rc>Bsc
BTCM>Bsc, BTCM<Bcc, BTCM=Bk1/Rc+Bk2
Transmisin de Datos (JoseM.Martinez@uam.es, 2011-2012)

Codificacin de canal (192)

96

Escuela Politcnica Superior

Universidad Autnoma de Madrid

Modulacin Codificada: TCM Decodificacin


La demodulacin-codificacin se realiza en dos pasos
En primer lugar hay que buscar el punto ms probable en cada nivel
de particin del TCM (el ms cercano en distancia eucldea al
recibido)
o Este paso se llama subset decoding
o Para cada transicin paralela existir por tanto solamente una rama
Discrimino entre ramas paralelas

o y con su distancia eucldea asociada

En el segundo paso, con la informacin anterior se busca en camino


de mxima verosimilitud mediante el algoritmo de Viterbi

Transmisin de Datos (JoseM.Martinez@uam.es, 2011-2012)

Escuela Politcnica Superior

Codificacin de canal (193)

Universidad Autnoma de Madrid

ndice
Introduccin
Cdigos de canal
Modulacin codificada
o
o

Introduccin
Modulacin Codificada Trellis

Aplicaciones de cdigos de canal

Transmisin de Datos (JoseM.Martinez@uam.es, 2011-2012)

Codificacin de canal (194)

97

Escuela Politcnica Superior

Universidad Autnoma de Madrid

ndice

Introduccin
Cdigos de canal
Modulacin codificada
Aplicaciones de cdigos de canal

Transmisin de Datos (JoseM.Martinez@uam.es, 2011-2012)

Escuela Politcnica Superior

Codificacin de canal (195)

Universidad Autnoma de Madrid

Aplicaciones de cdigos de canal


Codificacin sin W limitado (e.g., espacio)
No hay lmite en W pero hay mucho error por atenuacin y no puedo
aumentar potencia (e.g., satlites)
Interesa mucha proteccin a costa de W
Cdigos lineales, convolucionales, combinados,

Codificacin con W limitado (e.g., cable telefnico)


Interesa menor W an a costa de mayor complejidad (vs aumentar
potencia => diafona)
TCM

Sistemas de almacenamiento (e.g., CDs, DVDs) [y ruido


industral]
Errores a rfagas (e.g., fallo fsico, dedazos, rayazos, )
Reed-Solomon
Transmisin de Datos (JoseM.Martinez@uam.es, 2011-2012)

Codificacin de canal (196)

98

Escuela Politcnica Superior

Universidad Autnoma de Madrid

ndice

Introduccin
Cdigos de canal
Modulacin codificada
Aplicaciones de cdigos de canal

Transmisin de Datos (JoseM.Martinez@uam.es, 2011-2012)

Escuela Politcnica Superior

Codificacin de canal (197)

Universidad Autnoma de Madrid

ndice

Introduccin
o
Motivacin
o
Estrategias ARQ versus FEC
o
Modelo de canal de comunicacin
o
Capacidad de canal
o
Teorema de codificacin de canal ruidoso
o
Limites de la comunicacin
Cdigos de canal
o
Introduccin
o
Cdigos lineales
Introduccin
Definiciones
Codificacin: Matriz generatriz
Matriz de chequeo de paridad
Cdigos Hamming
Decodificacin de cdigos lineales
Decodificacin sistemtica dura (Matriz estndar)
o
Cdigos cclicos
Introduccin
Estructura
Teorema del polinomio generador
Matriz generadora sistemtica
Cdigos BCH
Cdigos R-S
o
Cdigos convolucionales
Introduccin
Representacin: mquina de estados, secuencia generadora, diagrama de estados, diagrama Trellis
Codificacin
Cdigos catastrficos
Decodificacin ptima: algoritmo de Viterbi
Funcin de transferencia
o
Cdigos basados en combinacin
Introduccin
Cdigos productos
Cdigos concatenados
Turbo cdigos
Modulacin codificada
o
Introduccin
o
Modulacin Codificada Trellis
Aplicaciones de cdigos de canal

Transmisin de Datos (JoseM.Martinez@uam.es, 2011-2012)

Codificacin de canal (198)

99

Escuela Politcnica Superior

Universidad Autnoma de Madrid

Bibliografa
John G. Proakis, Masoud Salehi, Communication Systems
Engineering, 2nd ed., Prentice Hall, 2002.
Bernard Sklar, Digital Communication, 2nd ed., Prentice Hall, 2001
Shu Lin,Daniel J. Costello, Error Control Coding, 2nd ed., PrenticeHall, 2004
http://www.comelec.enst.fr/turbocodes/turbo_notes_en.html

Transmisin de Datos (JoseM.Martinez@uam.es, 2011-2012)

Codificacin de canal (199)

100

Potrebbero piacerti anche