Está en la página 1de 22

1

Codificacin de Canal.
Turbocodificacin
Matilde Snchez
Javier Ramos
Universidad Carlos III de Madrid
Universidad Carlos III de Madrid
2
ndice
Introduccin
Objetivo de la codificacin de canal
Clases de Codificadores
Capacidad del Canal
Turbo codificacin
Codificacin
Decodificacin
Anlisis de prestaciones
Aplicaciones
2
Universidad Carlos III de Madrid
3
Introduccin
Sistema de Comunicaciones:
Fuente
de
informacin
Codificador
de fuente
Codificador
de canal
Modulador
Canal
Demodulador
Decodificador
de canal
Decodificador
de fuente
Destino
Universidad Carlos III de Madrid
4
Introduccin
La codificacin de canal aade redundancia estructurada a la
secuencia transmitida
El mensaje de entrada, m, est compuesto de k smbolos
La palabra codificada a la salida, x, est compuesta de n smbolos
Siendo n > k la salida del codificador incluye redundancia
La tasa de codificacin es r = k/n
La codificacin puede usarse para
Detectar errores: ARQ
Corregir errores: FEC
Codificador
De canal
m x
3
Universidad Carlos III de Madrid
5
Con el fin de aliviar interferencias y ruido
introducir de forma controlada alguna redundancia en la secuencia binaria
proporcionada por la fuente
El codificador enva solamente palabras que pertenecen a su cdigo
Ej1.: un codificador que repite 3 veces el bit que tiene a su entrada
C={000,111}
el decodificador elige la palabra ms parecida a las palabras del cdigo:
...101...
1 dgito diferente con ...111...
2 dgitos diferentes con ...000...
}
...111... palabra transmitida + probable ...1... dgito + probable
Codificador
...1... ...111...
Codificador
...0... ...000...
Canal
digital
Canal
digital
...101...
...001...
}
errores!!!
Introduccin
Universidad Carlos III de Madrid
6
Ej2: El codificador toma los bits de 2 en 2 y aade un bit
ms para que el nmero total de 1`s en la palabra
codificada sea par.
00
01
10
11
000
011
101
110
codificador
codificador
codificador
codificador
canal
canal
canal
canal
001
011
111
011
decodificador
decodificador
decodificador
decodificador
00
01
10 11
01
Introduccin
4
Universidad Carlos III de Madrid
7
El principal problema de la codificacin es determinar el
cdigo ptimo que para un canal dado aproxime la tasa
binaria efectiva transmitida al lmite de la capacidad de
Shannon
Esta bsqueda va a estar condicionada por lo siguiente:
Caractersticas del canal
Recursos disponibles: lmites en la velocidad de transmisin
Los principales parmetros a determinar son
k: longitud de los mensajes de entrada al codificador
n: longitud de las palabras de salida del codificador
K
k
K
n
C K
n
C K
n
Introduccin
Universidad Carlos III de Madrid
8
Tasa de codificacin R: mide la proporcin de cada palabra
codificada que transporta informacin. R = k/n
Ej1: por cada bit de informacin el codificador genera palabras de 3
bits
R=1/3
Ej2: por cada 2 bits de informacin el codificador genera palabras de
3 bits
R=2/3
Peso de una palabra: nmero de veces que el dgito 1 aparece en la
palabra
wt(0111010) = 4
Distancia entre dos palabras: nmero de dgitos en los que las dos
palabras no coinciden
d(0111010,0101011) = wt(0111010+ 0101011) = 2
Introduccin
5
Universidad Carlos III de Madrid
9
Un canal perfecto y sin ruido no produce errores en los
dgitos: la secuencia transmitida es exactamente igual a la
recibida
Canal binario y simtrico:
0
1
0
1
p
p
1-p
1-p
NO NECESITAMOS CODIFICACIN
Introduccin
Universidad Carlos III de Madrid
10
El decodificador recibe palabras (w) que pertenecen a K
n
,
pero que no tiene necesariamente que pertenecer a C.
Calculamos la distancia entre todas las palabras que
pertenecen a C y la palabra recibida w.
Elegimos como palabra decodificada (v) la que tenga la
mnima distancia con la palabra recibida
d(v,w) para toda v C
d(v,w) para toda v C
d(v,w) < d(v
1
,w) para toda v
1
C, v
1
v
d(v,w) < d(v
1
,w) para toda v
1
C, v
1
v
Introduccin
6
Universidad Carlos III de Madrid
11
La mayora de los cdigos con los que se trabajan van a ser
lineales porque nos va a permitir resolver el problema de la
codificacin de una manera muy sencilla
Decimos que un cdigo C es lineal siempre que si v y w
pertenecen a C, entonces w + v tamben es una palabra que
pertenece al mismo cdigo C
C
1
= {000,111}
000 + 000 = 000 111 + 000 = 111
000 + 111 = 111 111 + 111 = 000
C
1
= {000,111}
000 + 000 = 000 111 + 000 = 111
000 + 111 = 111 111 + 111 = 000
C
2
= {000,001,101}
001 + 101 = 100 C
2
C
2
= {000,001,101}
001 + 101 = 100 C
2
Clases de Codificacin
Universidad Carlos III de Madrid
12
Cualquier Cdigo Lineal deber contener la palabra
cero (todos sus dgitos son cero), ya que cualquier
smbolo del cdigo sumado consigo mismo es precisamente
la palabra cero.
Cmo podemos generar un cdigo lineal ?
Elegimos un conjunto de palabras S y el cdigo es toda las posible
combinaciones lineales de estas
S = {0100, 0011, 1100}
C = < S > = {0000, 0100, 0011, 1100, 0111, 1000, 1111, 1011}
Clases de Codificacin
7
Universidad Carlos III de Madrid
13
Codificacin Bloque:
el codificador transforma los mensajes de k bits en mensajes de
longitud n. La transformacin depende exclusivamente del valor
de los k bits
la codificacin en bloque se caracteriza por la matriz generadora
del cdigo
Codificacin convolucional:
es una codificacin con memoria, la transformacin no slo
depende de los k bits que se quieren codificar si no tambin del
conjunto de m bits anteriores
la codificacin convolucional se caracteriza por los polinomios
generadores del cdigo
Clases de Codificacin
Universidad Carlos III de Madrid
14
Ejemplos de cdigos de bloque:
Codificacin de Hamming: son cdigos de longitud n = 2
r
-1 y k = 2
r
-r-1
Cdigos lineales cclicos: cualquier palabra desplazada es una palabra del
cdigo. 110 011 101
C= {000, 110, 011, 101}
(
(
(
(

=
0001011
0010101
0100110
1000111
G
Clases de Codificacin
8
Universidad Carlos III de Madrid
15
Codificacin convolucional:
emplean registros de desplazamiento para codificar
los parmetros que caracterizan a estos cdigos son (k, n, m)
donde m es la memoria.
u
k
Z
-1
Z
-1
Z
-1
Z
-1
cdigo convolucional
(2,1,4)
k
x
1
k
x
2
Clases de Codificacin
Universidad Carlos III de Madrid
16
Codificacin Convolucional
La codificacin convolucional est justificada en los casos en los que la
calidad de servicio requerida no sea muy crtica y en el caso de tasas
de transmisin relativamente bajas (hasta 30 ksps)
Se proponen dos esquemas de codificacin convolucional:
tasa 1/2 con polinomios generadores (561,753)
8
y memoria 8 bits
tasa 1/3 con polinomios generadores (557,663,711)
8
y memoria 8 bits
El proceso de decodificacin asociado a los cdigos convolucionales
implica un procesado por bloques:
conocimiento del estado inicial y final del decodificador
el estado inicial del decodificador, est especificado que para cada bloque
de transporte sea cero, es decir, todos los registros estn especificados a
cero
se procesa cada bloque de transporte separadamente, se le aaden una
serie de bits de cola con el fin de que el estado final del codificador sea
conocido
9
Universidad Carlos III de Madrid
17
Codificacin convolucional
decodificacin
0000
0001 b
0010 c
0011 d
0100 e
0101 f
0110 g
0111 h
1001 j
1010 k
1000 i
1011 l
1100 m
1101 n
1110 o
1111 p
a
b
c
d
e
f
g
h
j
k
i
l
m
n
o
p
a
b
c
d
e
g
h
j
k
i
l
m
n
o
p
f
a
b
c
d
e
g
h
k
i
l
m
n
o
p
f
a
b
c
d
e
g
h
j
k
i
l
m
n
o
p
f
a
b
c
d
e
g
h
j
k
i
l
m
n
o
p
f
a
b
c
d
e
g
h
j
k
i
l
m
n
o
p
f
00
11
10
01
00
11
00
11
00
11
00
11
11
00
j
a
10
01
10
01
10
01
10
01
00
00
11
10
01
10
10
10
01
01
Universidad Carlos III de Madrid
18
Codificacin convolucional
Decodificacin
Viterbi: Estimacin de mxima verosimilitud (ML) de la
secuencia transmitida
Si la longitud del bloque que se codifica es excesivamente
grande, el proceso de decodificacin se complica bastante
Se puede hacer una decodificacin alternativa basada en
ventanas, si la longitud de la ventana es del orden de 5 veces
la memoria del decodificador
{ } ) | ( P max

c y c
c
=
10
Universidad Carlos III de Madrid
19
Turbo codificacin:
las prestaciones de un codificador convolucional mejoran al
aumentar la memoria
no se puede aumentar la memoria indiscriminadamente ya que la
complejidad en el proceso de decodificacin crece
exponencialmente
los turbo cdigos son esquemas de codificacin que aumentan la
memoria de codificacin de forma artificial
se basan en concatenar esquemas de codificacin relativamente
simples con el fin de obtener un cdigo equivalente en prestaciones
a uno ms complejo
Clases de Codificacin
Universidad Carlos III de Madrid
20
Turbo Codificacin
Referencia histrica
En 1993 en la conferencia ICC Berrou y Glavieux propusieron unos
novedosos esquemas de codificacin que se denominan turbo cdigos
que proporcionan comunicaciones fiables muy cerca del lmite de
Shannonn (a 0.5 dB del lmite)
Los Turbo cdigos se basan en la concatenacin de dos codificadores
relativamente sencillos separados por un entrelazado
La conjunto es equivalente a un nico codificador convolucional de
memoria tan grande como la profundidad de entrelazado pero con un
proceso de decodificacin que en ningn caso alcanzara la
complejidad del convolucional equivalente
11
Universidad Carlos III de Madrid
21
Turbo Codificacin
Las caractersticas fundamentales de los turbo cdigos son
Codificacin paralela concatenada
Codificadores Convolucionales Recursivos
Entrelazada Pseudo-Random
Decodificacin iterativa
Universidad Carlos III de Madrid
22
Motivacin: Las Prestaciones de los
Turbo Cdigos
Comparacin
Cdigos con tasa 1/2
K=5 turbo cdigo
K=14 cod. convolucional
L. Perez, Turbo Codes,
chapter 8 of Trellis Coding by C.
Schlegel. IEEE Press, 1997.
Ganancia de casi 2 dB!
Lmite Terico!
12
Universidad Carlos III de Madrid
23
Turbo Cdigos: Principio de
Funcionamiento
Un nico cdigo de proteccin de errores no siempre
proporciona la proteccin necesaria con una
complejidad aceptable
Solucin: Concatenar dos (o ms) cdigos
Esto crea un cdigo mucho ms potente que los tradicionales
Outer
Encoder
Block
Interleaver
Inner
Encoder
Outer
Decoder
De-
interleaver
Inner
Decoder
Channel
Universidad Carlos III de Madrid
24
En vez de la concatenacin en serie vista en la transparencia anterior,
la concatenacin puede realizarse en paralelo
La propuesta original de turbo cdigos consista en la concatenacin
de dos codificadores convolucionales sistemticos (RSC) con un
entrelazado
sistemtico: parte de los bits de salida coinciden con los de entrada
Encoder
#1
Encoder
#2
I
n
t
e
r
l
e
a
v
e
rMUX
Input
Parity
Output
Systematic Output
Turbo Cdigos: Principio de
Funcionamiento
13
Qu es un RSC?
Un codificador RSC puede
construirse a partir de un
codificador convolucional
donde una salida se
realimenta a la entrada
La respuesta impulsiva de
un RSC es infinita
Una entrada arbitraria
ocasionar con alta
probabilidad una salida
buena (con alto peso de
hamming)
Algunas entradas ocasionan
salidas malas (bajo peso)
D D
i
m
) 0 (
i
x
) 1 (
i
x
i
x
i
r
Constraint Length K= 3
D D
i
m
) 0 (
i
x
) 1 (
i
x
i
x
Turbo Cdigos: Principio de
Funcionamiento
Universidad Carlos III de Madrid
26
Por qu el entrelazado
El dilema de codificacin
Shannon demostr que los cdigos aleatorios por bloques de grandes
dimensiones son los que mejor capacidad consiguen
Sin embargo el tener cdigos con una estructura permite la decodificacin
sencilla
Los cdigos con estructura tienen peores prestaciones que los aleatorios
Almost all codes are good, except those that we can think of.
Solucin
Hacer que el cdigo parezca aleatorio al mismo tiempo que mantiene una
cierta estructura
Este es el objetivo de incluir el entrelazado pseudo-aleatorio
Los turbo cdigos tienen prestaciones similares a los cdigos aleatorios
Sin embargo, como el esquema de entrelazado es conocido, la decodifiacin
con baja complejidad es posible
Turbo Cdigos: Principio de
Funcionamiento
14
Universidad Carlos III de Madrid
27
Por qu Entrelazado y Codificacin Recursiva
En un sistema de codificacin
Las prestaciones estn limitadas por las palabras de peso pequeo
Un cdigo bueno
Genera las palabras de poco peso con probabilidad muy baja
Los cdigos RSC
Generan palabras de bajo peso con una probabilidad bastante baja
En cualquier caso, algunas secuencias de entrada causan salidas con peso
pequeo
Gracias al entrelazado
La probabilidad de que ambos codificadores generen una palabra de peso
pequeo es muy baja
Por lo tanto, la concatenacin en paralelo de los dos codificadores proporciona
un cdigo bastante bueno
Turbo Cdigos: Principio de
Funcionamiento
Universidad Carlos III de Madrid
28
Notacin
u
k
entrelazado
s
k 1
x
r
k 1
x
s
k 2
x
r
k 2
x
Codificador 1
Codificador 2
Turbo Cdigos: Principio de
Funcionamiento
fuente
codificador
canal
k
u
(
(

=
) x , x (
) x , u (
c
r
k 2
s
k 2
r
k 1 k
k
(
(

=
) y , y (
) y , y (
y
r
k 2
s
k 2
r
k 1
s
k 1
k
15
Universidad Carlos III de Madrid
29
Viterbi: Estimacin de mxima verosimilitud (ML) de la
secuencia transmitida
MAP: Estimacin de la probabilidad mxima a posteriori
APP (A Posteriori Probability) de cada smbolo
{ } ) | ( P max

c y c
c
=
)} y | i u ( P { max u
k
i
k
= =

fuente
codificador
canal
k
u
(
(

=
) x , x (
) x , u (
c
r
k 2
s
k 2
r
k 1 k
k
(
(

=
) y , y (
) y , y (
y
r
k 2
s
k 2
r
k 1
s
k 1
k
Turbo Cdigos: Principio de
Funcionamiento
Universidad Carlos III de Madrid
30
Diseo de Turbo Cdigos
La aplicacin del algoritmo MAP implica el clculo de las
probabilidades a posteriori (APPs)
El algoritmo BCJR permite evaluar las APPs con una complejidad que
crece linealmente con el nmero de estados del Trellis y con la
longitud de la secuencia codificada.
Considerar el Turbo cdigo como un nico cdigo llevara a una
estructura de Trellis difcil de derivar y dependiente de la profundidad
de entrelazado
Aplicar MAP o ML slo sera posible para entrelazados de bloque con
muy poco profundidad.
Turbo Codificacin
16
Universidad Carlos III de Madrid
31

DEC 1 entrelazado
deentrelazado
deentrelazado
DEC 2
u
~
1
L
~
1 1
L
~
L
2 2
L
~
L
2
L
~

=
r
k 1
s
k 1
k 1

=
r
k 2
s
k 2
k 2
) u
~
), y ,..., y , y ( | 0 u ( P
) u
~
), y ,..., y , y ( | 1 u ( P
log ) u ( L
k 1
N 1 12 11
k
k 1
N 1 12 11
k
k 1
=
=
=
) u
~
| 0 u ( P
) u
~
| 1 u ( P
log ) u ( L
~
k 1 k
k 1 k
k 1
=
=
=
Turbo Codificacin
Universidad Carlos III de Madrid
32
Decodificacin iterativa
Se dispone un decodificador por cada codificador componente
Cada decodificador estima la probabilidad a posteriori (APP) de
cada bit
La informacin de APP de un decodificador es utilizada por el
otro decodificador
La codificacin se hace mediante un nmero de iteraciones
Decoder
#1
Decoder
#2
DeMUX
Interleaver
Interleaver
Deinterleaver
systematic
data
parity
data
APP
APP
hard bit
decisions
Turbo Codificacin
17
Universidad Carlos III de Madrid
33
La Turbo Codificacin toma su nombre de la
realimentacin que utiliza, como los motores turbo
Turbo Codificacin
Prestaciones en funcin del nmero de iteraciones
K=5
r=1/2
L=65,536
0.5 1 1.5 2
10
-7
10
-6
10
-5
10
-4
10
-3
10
-2
10
-1
10
0
E
b
/N
o
in dB
B
E
R
1 iteration
2 iterations
3 iterations
6 iterations
10 iterations
18 iterations
Turbo Codificacin
18
Universidad Carlos III de Madrid
35
Algoritmo MAP: BCJR modificado

S
1
S
L
) e ( S
2
e
) e ( S
2
s S
2
S
L-1
) e ( S
1
e
) e ( S
1
s
S
1
S
2
) e ( S
1 N
e

S
1
S
2
) e ( S
2 N
e

) e ( S
2 N
s

k=1 k=2 k=3 k=N-2 k=N-1 k=N


S
L
e
1
)) e ( x ), e ( u (
r
1 1
e
2
) e ( S
3
s
) e ( S
1 N
s

e
N-1
)) e ( x ), e ( u (
r
1 N 1 N
S
L-1
S
L
S
1
) y | ) e ( u u ( P ) e (
k k
= =

=
= =
i ) e ( u : e
k k
) e ( ) y | i u ( P
Turbo Codificacin
Universidad Carlos III de Madrid
36
S
0
S
3
S
2
S
1
0/00
1
/
1
1
0
/
0
1
1
/
1
0
1/10
0
/
0
1
0
/
0
0
1
/
1
1
i = 0 i = 6 i = 3 i = 2 i = 1 i = 4 i = 5
) (
1 +

i i
s s ) (
1 + i
s ) (
i
s
El algoritmo log - MAP
El algoritmo log-MAP:
Trabaja con aritmtica en el dominio logartmico
Los productos se transforman en sumas
Las sumas se pueden calcular mediante el Logaritmo Jacobiano
) 1 ln( ) , max( ) ln(
| | x y y x
e y x e e

+ + = +
Turbo Codificacin
19
Universidad Carlos III de Madrid
37
Turbo Codificacin
Implementacin en UMTS
Universidad Carlos III de Madrid
38
Factores que inciden en las prestaciones
Complejidad vs. Prestaciones
Algoritmo de decodificacin
Nmero de iteraciones
Profundidad de codificador
Latencia vs. Prestaciones
Tamao del entrelazado
Eficiencia espectral vs. Prestaciones
Tasa de codificacin
Otros factores
Diseo del entrelazado
Puncturing
Terminacin del trellis
Turbo Codificacin
20
Universidad Carlos III de Madrid
39
Aplicaciones de los Turbo Cdigos
Los sistemas multimedia requieren varias QoS
Latencia
Baja latencia para voz y teleconferencia
Bit/frame error rate (BER, FER)
Baja BER para transmisin de datos
Las reglas de diseo de los Turbo Cdigos se ajustan a los
requerimientos multimedia
Datos: uso de entrelazados largos
Baja BER, Alta Latencia
Voz: uso de entrelazados cortos
Baja Latencia, Alta BER
0.5 1 1.5 2 2.5
10
-7
10
-6
10
-5
10
-4
10
-3
10
-2
10
-1
E
b
/N
o
in dB
B
E
R
L = 1,024
L = 4,096
L = 16,384
L = 65,536
Influencia de la Longitud del
Entrelazado
Profundidad
codificadores 5
Tasa r = 1/2
Algoritmo Log-
MAP
18 iteraciones
Canal AWGN
Voice
Video
Conferencing
Replayed
Video
Data
21
Universidad Carlos III de Madrid
41
El principio de Turbo-procesado es ms general que su aplicacin a la
codificacin de canal
El principio de Turbo-procesado puede describirse como
Never discard information prematurely that may be useful in making a
decision until all decisions related to that information have been
completed.
-Andrew Viterbi
It is a capital mistake to theorize before you have all the evidence. It
biases the judgement.
-Sir Arthur Conan Doyle
El Turbo-procesado puede aplicarse a los algoritmos que se basan en
un diagrama de trellis
Otras aplicaciones del concepto de
Turbo Codificacin
Universidad Carlos III de Madrid
42
Otras aplicaciones del concepto de
Turbo Codificacin
Turbo Deteccin multiusuario
Turbo Ecualizacin
Procesado de Diversidad
22
Universidad Carlos III de Madrid
43
Conclusiones
Las ventajas de los Turbo Cdigos
Una gran eficiencia en potencia en presencia de AWGN y fading plano a
relativamente bajas BER
Capacidad de diseo con distintos parmetros que lo ajustan a distintos
servicios multimedia
Las desventajas de los Turbo Cdigos
Gran Latencia (retardo)
Pobres prestaciones a BER muy bajas
Justo porque los Turbo Cdigos estn pensados para trabajar en entornos
de SNR muy baja, la estiamcin del canal y su seguimiento es un tema
crtico todava bajo estudio
El principio de procesado iterativo con realimentacion de APP puede
utilizarse en otros problemas
Por ejemplo, Turbo-Deteccin-Multiusuario

También podría gustarte