Você está na página 1de 105

T EMA 5

FRENTE A ERRORES
T E CNICAS DE PROTECCI ON
DE C ANAL )
(C ODIFICACI ON

MMC (UC3M)

Comunicaciones Digitales

de Canal
Codificacion

1 / 99

Indice
y definiciones
Introduccion

Codigos
bloque lineales

Codigos
convolucionales

Codigos
de rejilla

Codigos
BCH y codigos
RS
frente a ruido impulsivo: intercalado y
Proteccion
de codigos

concatenacion

Esquemas avanzados de codificacion

Turbo codificacion

Codigos
LDPC

MMC (UC3M)

Comunicaciones Digitales

de Canal
Codificacion

2 / 99


Introduccion
Los sistemas de comunicaciones comenten errores
Objetivo de un sistema de comunicaciones
BER < Calidad

de los errores
Alternativas para reduccion

Aumentar la energa de la senal

Limitaciones: Econonicas,
fsicas, legales, interferencias, ...

de canales con ruido (Shannon)


Teorema de codificacion
de bits de redundancia
Introduccion
R (bits de datos/bits transmitidos)
Tasa de codificacion:
Capacidad del canal: C (bits/uso)
de la BER de forma arbitraria
Posibilidad de reduccion
R<C

MMC (UC3M)

Comunicaciones Digitales

de Canal
Codificacion

3 / 99

Capacidad de canal - Canales digitales


Modelo de canal discreto sin memoria (DMC)
Entrada y salida: variables aleatorias X e Y
pY|X (yj |xi )
Probabilidades de transicion

Capacidad de canal
C = max I(X, Y) bits/uso
pX (xi )

Ejemplo: Canal binario simetrico


(BER=)
1
s
x0 sH
 y0

HH

x1


*

HH


H

 HH
j
H
H

HH


s
Hs y1

C = 1 Hb () bits/uso
MMC (UC3M)

Comunicaciones Digitales

de Canal
Codificacion

4 / 99

Entropa binaria Hb (p)


Entropa de una v.a. binaria con pX (x0 ) = p y pX (x1 ) = 1 p

Entropia binaria Hb (p)

Hb (p) = p log2 (p) (1 p) log2 (1 p)


1
....................................
......
........
.
.
.
.
.....
0.9
...
.
.
.....
.
.
.
.
....
0.8
..
.
.
...
.
.
...
.
0.7
..
...
.
...
0.6
...
.. .
...
0.5
.. .
...
..
...
0.4 ..
...
.
...
0.3 ..
...
.
.
...
0.2 ..
...
.
.
...
0.1 ..
...
.
.
.
0
0 0.1 0.2 0.3 0.4 0.5 0.6 0.7 0.8 0.9 1
Probabilidad p

MMC (UC3M)

Comunicaciones Digitales

de Canal
Codificacion

5 / 99

Capacidad de canal - Canal gausiano


Capacidad sobre canal gausiano en las siguientes
condiciones:
Potencia transmitida: P watt.
Potencia de ruido: PN watt.
Ancho de banda: B Hz



1
1
P
C = log M = log 1 +
n
2
PN
Z B
No
PN =
df = No B
B 2


P
1
bits/uso
C = log 1 +
2
No B
C = B log (1 + SNR) bits/s

MMC (UC3M)

Comunicaciones Digitales

de Canal
Codificacion

6 / 99

Cotas
de B
Capacidad en funcion
lm C =

P
P
log2 (e) = 1,44
No
No

Sistema de comunicaciones practico


Rb < B log (1 + SNR) bits/s
Tasa binaria (eficiencia) espectral: =
Energa media por bit - Eb =
Eb /N0 =
Relacion

Rb
B

bits/s/Hz

P
Rb

SNR



Eb
< log (1 + SNR) , < log 1 +
No

Eb
2 1
SNR > 2 1,
>
No

Cuando 0
MMC (UC3M)

Eb
No

= ln2 = 0,693 1,6 dB

Comunicaciones Digitales

de Canal
Codificacion

7 / 99

Tasa binaria (eficiencia) espectral frente a Eb /N0


....
...
..
.
..
.
...
...
..
.
..
.
...
...
..
.
..
.
...
...
..
.
..
.
...
...
..
.
..
.
...
..

=
101

Rb
B

...........................
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.................
.
.
.
.
.
.
.
.
.
.
.
.
.
..
...........
.
.
.
.
.
.....
.
.
.
..
.
.
1 ..
.
5
10
15
20
..... 0
..
.
.....
.
.....
101
6

Eb
No

dB

1,592
MMC (UC3M)

Comunicaciones Digitales

de Canal
Codificacion

8 / 99

senal
a ruido normalizada
Relacion
Cota inferior para SNR
SNR > 2 1
de SNR normalizada
Definicion
SNRnorm =

SNR
2 1

Cota inferior sobre SNRnorm


SNRnorm > 1 (0 dB)

MMC (UC3M)

Comunicaciones Digitales

de Canal
Codificacion

9 / 99


Tipos de codigos

Capacidad del codigo

de errores
Codigos
de deteccion

de errores
Codigos
de correccion

de la redundancia
Mecanismo de introduccion

Codigos
bloque
Bloques de k bits se codifican de forma independiente

Concepto clave: distancia entre palabras codigo

Codigos
convolucionales
continua mediante filtrado digital
Codificacion

Estadstico para la decision

a partir de los bits decididos B[`]


Salida dura: decodificacion
a partir de la salida del
Salida blanda: decodificacion
demodulador q[n]
Mejores prestaciones pero mayor complejidad

Borrado de bits: se marcan los bits/smbolos dudosos


MMC (UC3M)

Comunicaciones Digitales

de Canal
Codificacion

10 / 99


Ganancia de codificacion
diferencia en decibelios entre las relaciones
Definicion:
Eb /N0 necesarias para alcanzar una determinada BER sin

codificar y utilizando la codificacion

Permite comparar las prestaciones de distintos codigos


Depende de la BER (o de Eb /N0 )
Puede ser positiva a partir de un cierto valor de Eb /N0

MMC (UC3M)

Comunicaciones Digitales

de Canal
Codificacion

11 / 99


Codigos
bloque - Definiciones
independiente de bloques de k bits
Codificacion
en bloques de n bits Tasa R = k/n
Conversion

Definiciones para los bloques de bits


bi = [bi [0], bi [1], , bi [k 1]], i = 0, 1, , 2k 1
Informacion:
Codificados: ci = [ci [0], ci [1], , ci [n 1]], i = 0, 1, , 2k 1
bi ci
Codificacion:

Diccionario del codigo:


mensaje palabra codigo

Peso de una palabra codigo


w(ci )
Numero
de unos de la palabra

Distancia de Hamming entre dos palabras codigo


dH (ci , cj )
Numero
de bits diferentes entre ambas palabras

Distancia mnima del codigo:


dmin

Mnima distancia de Hamming entre dos palabras codigo


distintas
MMC (UC3M)

Comunicaciones Digitales

de Canal
Codificacion

12 / 99


Estimador optimo
- Salida dura
condicionada a la transmision
de ci
Observacion
r = ci + e, e = [e[0], e[1], , e[n 1]]
de error (BER = )
Modelo probabilstico del patron
(
,
e[j] = 1
pE (e[j]) = e[j] (1 )1e[j] =
1 , e[j] = 0
Verosimilitud
pr|c (r|ci ) =

n1
Y

r[j]ci [j] (1 )1(r[j]ci [j])

j=0

Estimador de maxima
verosimilitud (ML)
ci = arg mn dH (r, ci )
ci

MMC (UC3M)

Comunicaciones Digitales

de Canal
Codificacion

13 / 99

y correccion
con salida dura
Capacidades de deteccion

Distancia mnima del codigo:


dmin
d = dmin 1 errores
Capacidad de deteccion:

Capacidad de correccion:


dmin 1
t=
errores
2

MMC (UC3M)

Comunicaciones Digitales

de Canal
Codificacion

14 / 99


Estimador optimo
- Salida blanda
M smbolos (m = log2 (M) bits/smbolo
Constelacion:

Secuencia de smbolos para una palabra codigo


ci Ai = [Ai [0], Ai [1], , Ai [n0 1]], n0 =

n
m

condicionada a ci
Modelo de la observacion
q = Ai + e, e = [e[0], e[1], , e[n0 1]]
Modelo probabilstico del error: fE (e[j]) = N(0, z2 )
Verosimilitud: fq|A (q|Ai ) = N(Ai , z2 )

Estimador de maxima
verosimilitud
c = arg mn de (q, Ai )
i

MMC (UC3M)

Comunicaciones Digitales

de Canal
Codificacion

15 / 99


Codigos
bloque lineales

Codigo
C(k, n)

Base del codigo:


k palabras codigo
linealmente
independientes
{g0 , g1 , , gk1 }
gi = [gi [0], gi [1], , gi [n 1]]

lineal de las k bases


Palabra codigo:
combinacion
ci = bi [0] g0 + bi [1] g1 + + bi [k 1] gk1
Propiedades

c0 = 0 = [0, 0, , 0] pertenece al codigo

Todos los elementos de la base pertenencen al codigo


lineal de palabras codigo

Toda combinacion
C(k, n)
Todas las palabra tienen a otra palabra a distancia dmin
dmin = mn w(ci )
ci 6=c0

MMC (UC3M)

Comunicaciones Digitales

de Canal
Codificacion

16 / 99


Matriz generadora del codigo
de la base en una matriz k n
Agrupacion


g0
g0 [0]
g0 [1] g0 [n 1]
g g1 [0]
g1 [1] g1 [n 1]
1
G = .. =
..
..
..
..
.
.
.
.
.
gk1
gk1 [0] gk1 [1] gk1 [n 1]

de las palabras codigo

Obtencion
ci = bi G

Codigos
sistematicos:
el mensaje bi forma parte de ci
ci = [bi |pi ] G = [Ik |P]
ci = [pi |bi ] G = [P|Ik ]
MMC (UC3M)

Comunicaciones Digitales

de Canal
Codificacion

17 / 99


Matriz generadora del codigo
- Ejemplo

Codigo
C(2, 5)

G=

0 1 1 1 0
1 0 1 0 1

Palabras codigo
bi
00
01
10
11

ci
00000
10101
01110
11011

Codigo
sistematico

Distancia mnima del codigo:


dmin = 3
Detecta 2 errores
Corrige 1 error

MMC (UC3M)

Comunicaciones Digitales

de Canal
Codificacion

18 / 99

Matriz de chequeo de paridad


Matriz (n k) n: complemento ortogonal de G
G HT = 0 matriz de k (n k) ceros

Codigos
sistematicos
G = [Ik |P] H = [PT |Ink ]
G = [P|Ik ] H = [Ink |PT ]
de palabras codigo

Identificacion
ci HT = bi G HT = 0 vector de n k ceros
mediante sndrome
Decodificacion
r = ci + e (e: patron
de error)
Modelo de transmision:
Sndrome
s = r HT = (ci + e) HT = e HT
Tabla de sndromes
Decodificacion:
MMC (UC3M)

Comunicaciones Digitales

de Canal
Codificacion

19 / 99

Matriz de chequeo de paridad - Ejemplo





1 0 0 0 1

0 1 1 1 0
G=
H = 0 1 0 1 0
1 0 1 0 1
0 0 1 1 1
Tabla de sndromes
e
s
00000 000
10000 100
01000 010
00100 001
00010 011
00001 101
?
110
?
111
110 e1 = 11000, e2 = 00011, e3 = 10110, e4 = 01101
Posibilidad: elegir uno de los dos patrones de dos errores
MMC (UC3M)

Comunicaciones Digitales

de Canal
Codificacion

20 / 99

Ventaja de trabajar con G y H

Numero
de palabras del codigo:
2k

k = 2, n = 5: 4 palabras
k = 247, n = 255: 2247 2,26 1074 palabras

Numero
de sndromes posibles

k = 2, n = 5 (t = 1): 8 sndromes
k = 247, n = 255 (t = 1): 256 sndromes

MMC (UC3M)

Comunicaciones Digitales

de Canal
Codificacion

21 / 99


- Ejemplo
Metodo
de eliminacion
de filas por combinaciones lineales de otras
Sustitucion
1a fila: 1a +2a filas
2a fila: 1a fila

Codigo
C(2, 5)

G=

1 1 0 1 1
0 1 1 1 0

Palabras codigo
bi
ci
00 00000
01 01110
10 11011
11 10101

Mismas palabras codigos


/ distintas asignaciones

La misma matriz H es valida


para generar la tabla de
sndromes
MMC (UC3M)

Comunicaciones Digitales

de Canal
Codificacion

22 / 99

Lmite de Hamming
Numero
de sndromes con redundancia r = n k:

2nk = 2r
Lmite de Hamming para corregir t errores
t  
X
n
r log2 V(n, t), V(n, t) =
j
j=0
V(n, t): Esfera de Hamming de radio t

con numero
Interpretacion
de sndromes disponibles

   
 
0
n
n
+
+ +
2r
0
1
t

Igualdad: Codigos
perfectos
MMC (UC3M)

Comunicaciones Digitales

de Canal
Codificacion

23 / 99


Codigos
perfectos

(decision
por mayora)
Codigos
de repeticion
n impar, k = 1, t = (n 1)/2

Codigos
de Hamming
n = 2m 1, k = 2m m 1, t = 1
Matriz de chequeo: en las columnas aparecen todas las
posibles combinaciones binarias de (n k) bits, excepto la
todo ceros

Ejemplo: Codigo
Hamming (4,7)

1 0 0 0
H= 0 1 0 1
0 0 1 1

1
0
1

1
1
0

1
1
1

Codigo
de Golay
n = 23, k = 11, t = 3

MMC (UC3M)

Comunicaciones Digitales

de Canal
Codificacion

24 / 99

dura
Prestaciones - Decodificacion
Probabilidad de error de bit (BER):
Se comenten errores cuando se excede la capacidad de
del codigo

correccion

de t errores
Codigo
de correccion
n  
X
n
Pe =
j (1 )nj
j
j=t+1
Codigos que corrigen todos los patrones de t errores y a
patrones de t + 1 errores



n  
X
n
n
t+1
nt1
a (1 )
+
j (1 )nj
Pe =
t+1
j
j=t+2
tipo Gray o pseudo-Gray
Codificacion
1
BER Pe
k
MMC (UC3M)

Comunicaciones Digitales

de Canal
Codificacion

25 / 99

blanda
Prestaciones - Decodificacion
Probabilidad de error
Pe c Q

de
pmin
2 N0 /2

e
dmin
: mnima distancia eucldea entre las secuencias de

smbolos correspondientes a dos palabras codigo


diferentes

c: maximo
numero
de palabras de distancia mnima de una

dada

Modulaciones binarias
q
de (ci , cj ) = d(a0 , a1 ) dH (ci , cj )
!
d(a0 , a1 ) p
p
Pe c Q
dmin
2 N0 /2
MMC (UC3M)

Comunicaciones Digitales

de Canal
Codificacion

26 / 99


Codigos
cclicos

Codigos
bloque lineales
si ci = [ci [0], ci [1], , ci [n 1]] C(k, n),
Definicion:
entonces c0i = [ci [1], , ci [n 1], ci [0]] C(k, n)
mediante un polinomio generador g(x)
Caracterizacion
multiplicacion
por el polinomio
Codificacion:
division
por el polinomio
Decodificacion:
mediante registros de desplazamiento
Implementacion

MMC (UC3M)

Comunicaciones Digitales

de Canal
Codificacion

27 / 99

Codificacion/Decodificaci
on

Representaciones polinonicas
Polinomio generador: g(x), grado n k
Polinomio de chequeo: h(x), tal que g(x) h(x) = xn 1
Palabras mensaje: b(x), grado k 1

Palabras codigo
y recibida: c(x), r(x), grado n 1
Sndrome: s(x), grado n k 1

Codificacion
c(x) = b(x) g(x) mod xn 1

Decodificacion
s(x) = r(x) h(x) mod xn 1
r(x) = a(x) g(x) + s(x)
por g(x) y quedarse con el resto
Division
MMC (UC3M)

Comunicaciones Digitales

de Canal
Codificacion

28 / 99


Ejemplo: codigo
C(4, 7)
Polinomio generador: g(x) = x3 + x + 1
Mensaje: b = [0 1 0 1] b(x) = x2 + 1

Palabra codigo
c(x) = (x2 + 1) (x3 + x + 1) = x5 + x2 + x + 1
c = [0 1 0 0 1 1 1]

MMC (UC3M)

Comunicaciones Digitales

de Canal
Codificacion

29 / 99

mediante registros de desplazamiento


Codificacion
n registros
Ramas con sumadores: indicadas por el polinomio
Se introduce el mensaje bit a bit
La palabra codificada corresponde a los bits en los
registros al final del proceso

?
- n
-

MMC (UC3M)

?
- n
-

Comunicaciones Digitales

de Canal
Codificacion

30 / 99

Ejemplo b = [0101]
[0 1 0 1]
-

?
?
- 0 - 0 - k
- 0 - 0 - 0 - 0
0 - k

?
?
- 1 - 0 - k
- 1 - 0 - 0 - 0
1 - k

?
?
- 1 - 1 - k
- 0 - 1 - 0 - 0
0 - k

?
?
- 1 - 1 - k
- 0 - 0 - 1 - 0
1 - k

[0 1 0 1]

[0 1 0 1]

[0 1 0 1]

MMC (UC3M)

Comunicaciones Digitales

de Canal
Codificacion

31 / 99


Codigos
de Hamming
Existen implementaciones cclicas
Algunos ejemplos:
m = 3 (n = 7, k = 4): g(x) = x3 + x + 1
m = 4 (n = 15, k = 11): g(x) = x4 + x + 1
m = 5 (n = 31, k = 26): g(x) = x5 + x2 + 1
m = 6 (n = 63, k = 57): g(x) = x6 + x + 1
m = 7 (n = 127, k = 120): g(x) = x7 + x3 + 1
m = 8 (n = 255, k = 247): g(x) = x8 + x4 + x3 + x2 + 1
m = 9 (n = 511, k = 502): g(x) = x9 + x4 + 1
m = 10 (n = 1023, k = 1013): g(x) = x10 + x3 + 1

MMC (UC3M)

Comunicaciones Digitales

de Canal
Codificacion

32 / 99


Codigos
Golay
k = 12, n = 23, t = 3 (dmin = 7)

Codigo
cclico
g1 (x) = x11 + x10 + x6 + x5 + x4 + x2 + 1
g2 (x) = x11 + x9 + x7 + x4 + x3 + x2 + x + 1

Polinomios de chequeo de paridad


h1 (x) = x12 + x11 + x10 + x9 + x8 + x5 + x2 + 1
h2 (x) = x12 + x10 + x7 + x4 + x3 + x2 + x + 1

Codigo
de Golay extendido

Anade
un bit de paridad

Tasa 1/2 (facilidad de implementacion)


Capacidad de corregir el 19 % de patrones de 4 errores

MMC (UC3M)

Comunicaciones Digitales

de Canal
Codificacion

33 / 99

Codigos
cclicos sistematicos
de la palabra codigo

Definicion
c(x) = b(x) xnk + d(x)


b(x) xnk
d(x) = resto de
g(x)
Ejemplo: b(x) x3 = x5 + x3
x5 + x3 = x2 (x3 + x + 1) + x2 d(x) = x2
c(x) = x5 + x3 + x2 c = [0 1 0 1 1 0 0]

MMC (UC3M)

Comunicaciones Digitales

de Canal
Codificacion

34 / 99

con registros de desplazamiento


Division
n k registros
Ramas con sumadores: indicadas por g(x)
Se introduce bit a bit b(x) xnk
El resto es el contenido final de los registros

MMC (UC3M)

?



?



Comunicaciones Digitales

de Canal
Codificacion

35 / 99

Ejemplo b = [0101]
[0 1 0 1 0 0 0]
?
0 -
 0

MMC (UC3M)

?



Comunicaciones Digitales

0 -

de Canal
Codificacion

36 / 99

Ejemplo b = [0101]
[0 1 0 1 0 0 0]
?
1 -
 1

MMC (UC3M)

?



Comunicaciones Digitales

0 -

de Canal
Codificacion

36 / 99

Ejemplo b = [0101]
[0 1 0 1 0 0 0]
?
0 -
 0

MMC (UC3M)

?



Comunicaciones Digitales

0 -

de Canal
Codificacion

36 / 99

Ejemplo b = [0101]
[0 1 0 1 0 0 0]
?
1 -
 1

MMC (UC3M)

?



Comunicaciones Digitales

0 -

de Canal
Codificacion

36 / 99

Ejemplo b = [0101]
[0 1 0 1 0 0 0]
?
0 -
 1

MMC (UC3M)

?



Comunicaciones Digitales

1 -

de Canal
Codificacion

36 / 99

Ejemplo b = [0101]
[0 1 0 1 0 0 0]
?
0 -
 0

MMC (UC3M)

?



Comunicaciones Digitales

0 -

de Canal
Codificacion

36 / 99

Ejemplo b = [0101]
[0 1 0 1 0 0 0]
?
0 -
 0

?



0 -

Resto: d(x) = x2 (igual que antes)


de iteraciones: colocar en los registros los datos
Reduccion
correspondientes a las k primeras iteraciones

MMC (UC3M)

Comunicaciones Digitales

de Canal
Codificacion

36 / 99

Decodificador codigos
sistematicos

Tomar la parte sistematica


y volverla a codificar: d0 (x)
del sndrome
Definicion
s(x) = d(x) d0 (x)

de tabla de sndromes para decodificacion

Generacion

MMC (UC3M)

Comunicaciones Digitales

de Canal
Codificacion

37 / 99


Limitaciones de los codigos
bloque
de la tabla de sndromes - Crecimiento
Tamano
exponencial
Ejemplo: n = 23, t = 1: 23 entradas
Ejemplo: n = 23, t = 2: 276 entradas
Ejemplo: n = 23, t = 3: 2047 entradas

Prestaciones relacionadas con la distancia mnima

Su calculo
requiere conocer las palabras del codigo
No hay aproximaciones constructivas para obtener una dmin

MMC (UC3M)

Comunicaciones Digitales

de Canal
Codificacion

38 / 99

T EMA 5
FRENTE A ERRORES
T E CNICAS DE PROTECCI ON

(C ODIGOS
CONVOLUCIONALES )

MMC (UC3M)

Comunicaciones Digitales

de Canal
Codificacion

39 / 99


Codigos
convolucionales
de la redundancia mediante filtrado
Introduccion
de memoria
Introduccion

Tasa R = k/n: Banco de filtros con


k entradas
n salidas

C(0) [`]

B(0) [`] D

......................
................................................
.
................................................
...
................................................
...
.. ..
..
...
.....
...
...
...
...
...................
...................
...
.
.
.
.
................................................
..
................................................ ....................................
................................................................... .....
......... .......


C(1) [`]

Notacion:
Entradas: B(i) [`], con i = 0, 1, , k 1
Salidas: C(j) [`], con j = 0, 1, , n 1
MMC (UC3M)

Comunicaciones Digitales

de Canal
Codificacion

40 / 99

Representaciones

Esquematica

[`]
iC (0)

B(0) [`]

..
....................................................
................................................
..
...
.. ..
...
D
D
...
...
.......
.
....................................................................................
.............................................................
.

[`]
iC (1)

entrada salidas
Relacion
C(0) [`] = B(0) [`] + B(0) [` 1] + B(0) [` 3]
C(1) [`] = B(0) [`] + B(0) [` 1] + B(0) [` 2] + B(0) [` 3]
mediante polinomios en D
Notacion
X
B(i) (D) =
B(i) [`] D`
`

Propiedad
B(i) [` d] B(i) (D) Dd
MMC (UC3M)

Comunicaciones Digitales

de Canal
Codificacion

41 / 99

Representaciones (II)
mediante polinomios en D
Notacion


C(0) (D) = B(0) (D) 1 + D + D3


C(1) (D) = B(0) (D) 1 + D + D2 + D3
matricial (polinomios):
Notacion
C(D)1n = B(D)1k G(D)kn
kn
Matriz generadora de tamano
a la salida j-esima

Elemento fila i columna j: contribucion


de

la entrada i-esima
Ejemplos
Ejemplo anterior (A): k = 1, n = 2


G(D) = 1 + D + D3 , 1 + D + D2 + D3 12
Otro ejemplo (B): k = 2,

G(D) =
MMC (UC3M)

1+D
D

Comunicaciones Digitales

D D
1 D


23
de Canal
Codificacion

42 / 99

esqumatica

Paso a representacion
- Ejemplo B

G(D) =

1+D D D
D
1 D

Numero
de entradas: k = 2

Numero
de salidas: n = 3

B(0) [`]
-


23


C(0) [`]

..
.......
..... .
..... ..
..... ..
..... ....
.
.
.
.
.....
...
.....
.....
...
.....
..
..........
..
.
.
.
..........
.
... ....... ....
... ..........
... ........
... ... ........
.....
... ...
.....
.....
.....
.....
.... ....
... ...
...
..
...
...
...
...
...
....
...
.....
.....
...
.....
...
.....
.
.....
..... ....
..... ..
..... ..
..... ..
..... ..
......
.


C(1) [`]

B(1) [`]
-


C(2) [`]

MMC (UC3M)

Comunicaciones Digitales

de Canal
Codificacion

43 / 99

Parametros
de interes

Memoria total del codigo:


Mt
Numero
total de unidades de retardo (memorias)

Mt =

k1
X

M (i)

i=0

Memoria de la entrada i-esima:


M (i) = max grado(gi,j (D))
j

K
Longitud de restriccion:

Maxima
longitud de la respuesta al impulso del codificador

(maximo
numero
de instantes de tiempo en los que un bit

afecta a la salida del codificador)


K = 1 + max grado(gi,j (D))
i,j

En general las prestaciones aumentan con K


MMC (UC3M)

Comunicaciones Digitales

de Canal
Codificacion

44 / 99

Codigos
sistematicos

Matriz de generacion
G(D) = [Ik P(D)]
Las entradas se copian en algunas de las salidas
Ejemplo (C)


G(D) = 1, 1 + D + D2
C(0) [`]B(0) [`] D

...
...
...
...
...
...
................................
..
................................
................................ ....
..............


C(1) [`]

MMC (UC3M)

Comunicaciones Digitales

de Canal
Codificacion

45 / 99

Diagrama de rejilla
del estado
Definicion
Contenido de las memorias del codificador
[`] = [B(0) [`1], , B(0) [`M (0) ], , B(k1) [`1], , B(k1) [lM (k1) ]]

Etiquetado de la rejilla
Bits a la entrada del codificador
Bits a la salida del codificador


(0)
(1)
(k1)
B [`], B [`], B
[`] C(0) [`], C(1) [`], C(n1) [`]

MMC (UC3M)

Comunicaciones Digitales

de Canal
Codificacion

46 / 99

Ejemplo - Convolucional D


Estado: [`] = B(0) [` 1], B(0) [` 2]
Estados: 0 = [0, 0], 1 = [1, 0], 2 = [0, 1], 3 = [1, 1]

(0)

C -[`]
- k

B(0) [`] D

- D
?
- k

C(1)-[`]

MMC (UC3M)

0|10
1|00
r

0|11
1|10
r
1
0|01
1|11
r
0
[n]

Comunicaciones Digitales

1|01

..............................................................................................................................................................
..........
..........
......
..........
......
..........
......
..........
......
.
.
.
.
..........
.
....
..........
......
..........
......
..........
.......... ...........
.... ..............
.
.
.
.
.
.
..........
..........
......
..........
......
........ .
......
............
......
..........
..................
......
.
.
.
..........
.
...... ...........
.
....
..........
.
.
.
...... ..........
.
.
.
.
.
.
.
.
.
.
.
..
......
...
......
...... ............................
..........
..........
...... ...... ..........
....... ..................
.........
................. .................... ..................
.
.
.
.
.
..........
...... .............................
..........
.
..........
......
......
..........
...... ...........
......
..........
...... ...........
......
..........
................
......
....
............
......
......
..........
......
..........
.
.
.
.
.
.
.
.
.
.
......
.
...... ....................
.............
.......... ............
..........
......
..........
......
..........
.
.
......
.
.
.
.
.
.
.
...
......
..........
......
..........
.
.
.
......
.
.
.
.
.
.
.....
.......
.
.
.
.
.
.
.
.
.
.........................................................................................................................................................

0|00

r
[n + 1]

de Canal
Codificacion

47 / 99

Ejemplo - Convolucional E


Estado: [`] = B(0) [` 1], B(0) [` 2]
Estados: 0 = [0, 0], 1 = [1, 0], 2 = [0, 1], 3 = [1, 1]

3
(0)

C -[`]
B(0) [`]-

- D
- k

C(1)-[`]

MMC (UC3M)

0|11
1|00
r

0|01
1|11
r
1
0|10
1|01
r
0
[n]

Comunicaciones Digitales

1|10

..............................................................................................................................................................
..........
..........
......
..........
......
..........
......
..........
......
.
.
.
.
..........
.
....
..........
......
..........
......
..........
.......... ...........
.... ..............
.
.
.
.
.
.
..........
..........
......
..........
......
........ .
......
............
......
..........
..................
......
.
.
.
..........
.
...... ...........
.
....
..........
.
.
.
...... ..........
.
.
.
.
.
.
.
.
.
.
.
..
......
...
......
...... ............................
..........
..........
...... ...... ..........
....... ..................
.........
................. .................... ..................
.
.
.
.
.
..........
...... .............................
..........
.
..........
......
......
..........
...... ...........
......
..........
...... ...........
......
..........
................
......
....
............
......
......
..........
......
..........
.
.
.
.
.
.
.
.
.
.
......
.
...... ....................
.............
.......... ............
..........
......
..........
......
..........
.
.
......
.
.
.
.
.
.
.
...
......
..........
......
..........
.
.
.
......
.
.
.
.
.
.
.....
.......
.
.
.
.
.
.
.
.
.
.........................................................................................................................................................

0|00

r
[n + 1]

de Canal
Codificacion

48 / 99

de la rejilla
Secuencia de bits - Camino a traves
Secuencia de datos: B(0) [`] = [11010]
Estado inicial: 0 (Se fija con el envo de una cabecera de
bits)
3

1|01
1|01
1|01
s
s
s
qqsqqq
qqqq qqqqqqqqqqqqqq
q
q
q
q
q
q
q
q
q
q
qqqqqqq
q
qqqqqqq
qqqq
qqqqqsqq
qqqq
s
s
s
s
q
q
qqqqqqq
q
q
qqqqqqqs
q
q
qqqqqqq
q
q
qqqqqqq
q
q
q
q
q
q
q
q
q
q
q
q
q
q
qqqqqqq
q
qqqqqqq qqqqqqqqqqqqq
qqqq
qqqqqsqqqq
qqqq
q
s
s
s
s
s
q
q
q
q
qqqqq
q
q
q
q
q
q
q
q
q
q
qqqq
qqqqqqq
qsqqqqqq
s
s
s
s
s

1|01

1|01

.......................................................................................................................................................................................................................................................................................................................................................................................................................................................................................
.
.
.
.
.
.........
.....
..... .................
..... .................
..... .................
..... .................
.........
.......
.......
.......
.......
.....
.....
.....
.....
.....
......
.....
.....
.....
.....
.....
0|10 .....................
0|10 .....................
0|10 .....................
0|10 .....................
0|10 .....................
.....
.....
.....
.....
.....
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
......... ......
......... ......
......... ......
......... ......
......... ......
.
..........
..........
..........
..........
............
1|00
..... .................
..... ................. 1|00
..... ................. 1|00
..... ................. 1|00
..... ................. 1|00
.....
.....
.....
.....
.........
.........
.........
.........
.....
.........
.
...........
...........
...........
.....
.....
.....
.....
...........
.
.
.
.
.....
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.............
.
.
.
.
........
.
.
.
.
..............
..............
..............
..............
..... ......... .........
..... ........ ..........
..... ........ ..........
..... ........ ..........
..... ........ ..........
.........
.........
.........
.........
.........
..... ............
..... ............
..... ............
..... ............
..... ............
.........
.........
.........
.........
.........
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
0|11 ................. ..............................
0|11 ................. ..............................
0|11 ................. ..............................
0|11 ................. ..............................
0|11 ................. ..............................
..... ..... ........ ................
..... ..... ........ ................
..... ..... ........ ................
..... ..... ........ ................
..... ..... ......... ................
.........
......... 1|10 ..................................
......... 1|10 ..................................
......... 1|10 ..................................
......... 1|10 ..................................
1|10 ..........................................
.........
.........
.........
.........
.........
. .
. .
. .
. .
.....
.....
.....
.....
.....
... ......
.........
......... .......................
......... .......................
......... .......................
......... .......................
.....
.....
.....
.....
.....
..
..
..
..
..........
.....
.....
.....
.....
.
.
.
.
.
.
.
.
.....
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
........
.
.
.
.
.....
.....
.....
.....
....
.....
..... ..................
..... ..................
..... ..................
..... ..................
..... .................
...........
...........
...........
...........
.
.
.
.
.
0|01
0|01
0|01
0|01
0|01
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
..... ........
..... ........
..... ........
..... ........
..... ........
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
..
..
..
..
.....
.....
.....
.....
.....
...
.....
.....
.....
.....
.....
.........
.........
.........
.........
1|11 .....................
.....
..... 1|11.................
..... 1|11.................
..... 1|11.................
..... 1|11.................
.....
.....
.....
.....
.....
......
..
.. ...........
.. ...........
.. ...........
.. ...........
.........
..................................................................................................................................................................................................................................................................................................................................................................................................................................................................................

[0]

0|00

[1]

0|00

[2]

0|00

[3]

0|00

[4]

0|00

[5]

Secuencia codificada: C[k] = [11 10 10 00 01]


MMC (UC3M)

Comunicaciones Digitales

de Canal
Codificacion

49 / 99

- Algoritmo de Viterbi
Decodificacion
de la secuencia mas
verosmil
Recuperacion
Estados inicial/final
Cabecera de referencia (habitualmente ceros bit flushing)

de bits decididos
Salida dura: observacion
Secuencia con el menor numero
de bits codificados distintos

a la observacion

Metrica
de rama: distancia de Hamming con la observacion

de q[n]
Salida dura: observacion
a la menor
Secuencia cuyos smbolos asociados estan

distancia eucldea de la observacion

Metrica
de rama: |q[n] A[n]|2
que se utiliza para
Hay que tener en cuenta la constelacion
de las etiquetas de la rejilla basica

hacer la conversion
a
(A[n])
smbolos de la constelacion

Mejores prestaciones que con salida blanda


MMC (UC3M)

Comunicaciones Digitales

de Canal
Codificacion

50 / 99


Metricas
de rama - Salida dura
Secuencia recibida: R[k] = [11 10 10 00 01]
3
2
1
0

s
s

[n]
3

1|01

................................................................................................
............
.....
........
......
0|10 ............................. ...............
.
...... ....................
1|00
.
.
.
.
.
..........
......
.............
.....
................... .............
............
..... ..........
............
0|11 ........................... ....................................................
.
.
.
.
.
.
.
.
.
............
1|10.................................. ............
............
..
.......
......
.......
..........
...... .....................
0|01
...........
.
.
.
.
.
.
.
.
.
.
.
.......
1|11 ............................
.......
......
........
................................................................................................

0|00

[n + 1]

0
2
1
s
s
s
qqqqsqqqqqqqqqqqqq
q
q
q
q
q
q
q
q
q
q
q
qqqqqqq
q
qqqqqqq
qqqq
qqqqqqq
qqqq
q
q
s
s
s
s
qsqqqqqq
q
q
qqqqs
q
q
qqqqqqq
q
q
qqqqqqq
q
q
q
q
q
q
q
q
q
q
q
q
q
q
qqqqqqq
qqqq
qqqqqqq
qqqqqqq
qqqq
qqqqqqq qqqqqqqqqqqq
q
q
q
q
q
q
s
s
s
s
s
qqs
qqqqqqq
qqqqqqq
q
q
q
q
q
qq
qqqqqqq
s
s
s
s
s
qsqqqqqq
1

..................................................................................................................................................................................................................................................................................................................................................................................................................................................................................
.........
. .........
. .........
. .........
. .........
.
.....
.....
.....
.....
.....
.........
.........
.........
.........
.........
.....
.....
.....
.....
.....
.........
.........
.........
.........
.........
.....
.....
.....
.....
.....
.........
.........
.........
.........
.........
0
0
1
1
2
.....
.....
.....
.....
.....
.........
.........
.........
.........
.........
......... ..........
......... ..........
......... ..........
......... ..........
......... ..........
......
......
......
......
.........
0
2
1
1
1
..... ..................
..... ..................
..... ..................
..... ..................
..... .................
.....
.....
.....
.....
.........
.........
.........
.........
.....
.........
.....
.....
.....
.....
.....
...........
.....
.....
.....
.....
..........................
...........................
...........................
...........................
........
.....
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.............
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
..... ......... ....
..... ......... ....
..... ......... ....
..... ......... ....
.
.
.
.........
..
..... ......... ......
..... ........ .....
..... ........ .....
..... ........ .....
..... ........ .....
.........
.........
.........
.........
.........
..... ...........
..... ............
..... ............
..... ............
..... ............
.........
.........
.........
.........
.
.
.
.
..... .... ......... .................
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
........ ..............
........ ..............
........ ..............
........ ..............
.. ..
.. ..
0
1
1
2
1
...............
.... ....
.... ....
.... ....
.... ....
.........
... ...
... ...
... ...
... ...
..... ..... ......... .................
..... ..... ......... .................
..... ..... ......... .................
..... ..... ......... .................
..... ..... ......... .................
......... 0 .................................
......... 0 .................................
......... 1 .................................
......... 2 .................................
.........
1 .........................................
.....
.....
.....
.....
......... .............
......... .............
......... .............
......... .............
.........
.....
.. ...
.....
.
.
.....
.
.
.
.................
.
.
.
........
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.....
.
.
.
.
.
.............
.
.
.
.
.
.
.....
.....
.
.....
.....
...
.....
.......
.......
.....
.....
........
........
.....
.....
.........
.....
..... .................
..... .................
..... .................
..... .................
..... .................
.
.
.
.
.
.
..........
..........
..........
..........
......
.
.
.
.
.
.
.
0
1
2
2
1
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.... .......
.... ........
.... ........
.... ........
.... ........
.........
.........
.........
.........
.........
.....
.....
.....
.....
.....
.....
.....
.....
.....
.....
0 .....................
1 .................
1 ..................
2 ..................
1 ..................
.....
.....
.....
.....
.....
...
..... .................
..... .................
..... .................
..... .................
.....
.........
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.. ................................................................................... ..............................................................................................................................................................................................................................................................................................................................................

[0]
MMC (UC3M)

[1]

[2]

Comunicaciones Digitales

[3]

[4]

de Canal
Codificacion

[5]
51 / 99


Metricas
acumuladas en cada estado (Viterbi)

3
2
1
0

[1] [2] [3] [4] [5]

0
2/3 3/4 3/2

2
0/5 3/4 0/0
0
3
3/4 0/5 4/3
2
3
3/4 2/3 4/3

Si no hay errores: camino con metrica


acumulada nula

MMC (UC3M)

Comunicaciones Digitales

de Canal
Codificacion

52 / 99


Metricas
de rama - Salida blanda
h i h
i h
i h
i h
i
1,1
0,75
1,2
0,7
Secuencia recibida: q[n] = 1,1
0,9
0,8
0,6
1,1
1,2
3
2
1
0

01

[n]
3

1|01

.................................................................................................
............
....
........
.......
0|10 ............................. ...............
..................
.
.
.
1|00
.
.
............
..
.......
.............
.........
................... .............
............
..... ...... ....
............
0|11 ...............................................................................
............
............
1|10.....................................................
..........
.......
......
.......
.....
....... ......................
.
0|01
.
.
.
.
.
.
.
.
.
........ ...........
.
.
.
.
.
.
.
.
.
.
.
.......
1|11 ................
.
.
.
.
.
.
...
.....
.................................................................................................

0|00

11

+1

+1

00

[n + 1]

10

0,13
s
s
s
qqsqqq
qqqq qqqqqqqqqqqqqq
q
q
q
q
q
q
q
q
q
q
qqqqqqq
q
qqqqqqq
qqqq
qqqqqsqq
qqqq
s
s
s
s
q
q
qqqqqqq
q
q
qqqqqqqs
q
q
qqqqqqq
q
q
qqqqqqq
q
q
q
q
q
q
q
q
q
q
q
q
q
q
qqqqqqq
q
qqqqqqq qqqqqqqqqqqqq
qqqq
qqqqqsqqqq
qqqq
q
s
s
s
s
s
q
q
q
q
qqqqq
q
q
q
q
q
q
q
q
q
q
qqqq
qqqqqqq
s
s
s
s
s
qsqqqqqq
4,42

7,65

5,62

4,45

.......................................................................................................................................................................................................................................................................................................................................................................................................................................................................................
. ........
. ........
. ........
. ........
.
.........
.........
.........
.........
.........
.....
.....
.....
.....
.....
.........
.......
.......
.......
.......
.....
.....
.....
.....
.....
......
.....
.....
.....
.....
.....
3,62 .....................
0,05 .....................
0,22 .....................
4,85 .....................
7,73 .....................
.....
.....
.....
.....
.....
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
......... ......
......... ......
......... ......
......... ......
......... ......
.
..........
..........
..........
..........
.............
8,02
4,45
..... ................. 3,22
..... ................. 0,05
..... ................. 4,93
..... .................
..... .................
.........
.........
.........
.........
.....
.....
.....
.....
.....
.........
...........
...........
...........
.
.....
.....
.....
.....
...........
.....
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.............
.
.
.
.
.
.
.
.
. ...............
. ...............
. ...............
. ...............
.........
.
.
.
.
..... ......... .........
.........
.........
.........
.........
.........
..... .......... ..........
..... .......... ..........
..... .......... ..........
..... .......... ..........
..... ............
.........
.........
.........
.........
.........
..... ...........
..... ...........
..... ...........
..... ...........
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
0,02 ................. ..............................
3,25 ................. ..............................
2,62 ................. ..............................
9,25 ................. ..............................
2,93 ................. ..............................
..... ..... ......... .................
..... ..... ......... .................
..... ..... ......... .................
..... ..... ......... .................
..... ..... ......... .................
......... 0,05 ...................................
......... 0,22 ...................................
......... 4,85 ...................................
......... 7,73 ...................................
.........
3,62 ..........................................
......... ..............
......... ..............
......... ..............
......... ..............
.........
.....
.....
.....
.....
.....
... ......
.....
.....
.....
.....
...................
...................
...................
...................
.........
.....
..........
.....
.....
.....
.....
.
.
.
.
.
.
.
.
.....
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.......
.....
.....
.....
.....
....
.....
..... .................
..... .................
..... .................
..... .................
..... .................
............
............
............
............
.
.
.
.
.
4,42
7,65
5,62
4,45
0,13
.
.
.
.
.
.
.
.
.
.
.
...... ........
...... ........
...... ........
...... ........
...... ........
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.....
.....
.....
.....
.....
...
.........
.........
.........
.........
.....
.....
.....
.....
.....
0,02 ....................
..... 3,25 ................
..... 2,62 ................
..... 9,25 ................
..... 2,93 ................
.....
.
.
.
.
.....
.....
.....
.....
.....
.......
... ............
... ............
... ............
... ............
...
.........
..................................................................................................................................................................................................................................................................................................................................................................................................................................................................................

[0]

8,02

MMC (UC3M)

[1]

4,45

[2]

3,22

Comunicaciones Digitales

[3]

0,05

[4]

4,93

de Canal
Codificacion

[5]
53 / 99


Metricas
acumuladas en cada estado (Viterbi)

3
2
1
0

[1]

0,02
8,02

MMC (UC3M)

[2]
[3]
[4]
[5]
0,07
5,69/11,49 10,14/15,74 10,27/8,07
7,67
0,29/16,89 10,54/15,34 17,87/0,47
11,27 10,89/15,09 0,34/19,54 15,47/12,47
12,47 10,29/15,69 9,54/10,34 13,47/14,47

Comunicaciones Digitales

de Canal
Codificacion

54 / 99

Prestaciones
Salida dura
Pe c


nz 
X
nz
i=t

i (1 )nzi

DH
min : mnima distancia de Hamming entre salidas para
secuencias distintas

z: longitud
del
de distancia mnima
j H
k evento erroneo
Dmin 1
sobre n z bits)
(capacidad de correccion
t=
2
: probabilidad de error de bit del sistema (BER)

Salida blanda
Pe c Q

De
p min
2 N0 /2

Demin : mnima distancia eucldea entre salidas para


secuencias distintas
MMC (UC3M)

Comunicaciones Digitales

de Canal
Codificacion

55 / 99

Calculo de DHmin
con la secuencia de todo ceros
Comparacion
3
2
1
0

s
s

[n]
3

0
MMC (UC3M)

1|01

.................................................................................................
............
....
........
.......
0|10 ............................. ...............
............
.
.
.
.
1|00
............
.....
..........
......
.............
....
................... ............
............
..... ...........
............
0|11 ........................... ....................................................
............
. .................
.
.
.
.
.
.
.
1|10....................
.......
............
..........
.......
.......
.......
..
....... .......................
.
0|01
.......... .............
.
.
.
.
.
.
.
.
.
.
.
.......
1|11 ...................
.
.
.
.....
........
................................................................................................

0|00

[n + 1]

DH
min = 5

z=3

........................................................................
.... ..............
....... 1
....
.......
....
.
.......
.
.
.......
1 .....
.......
.
.
.......
.
.
....... 4
..
3
.
.
.......
.
..
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
..
.... ................
.
.
.
.
.
.
.
.
.
.... ....... 0
... 1 .............
.
.
.
.
.
.
.... ........
.
...
.... .........
.... .........
....
....
.... ........
.... 2 ..............
.... .........
....... 3
....
2.......................
.......
....
.
.
.
.
.
.
.
.
....
.......
....
2 ................
.
....
...
.
.
.
.
.
.
.
....
....
....
.......
....
.......
.......
....5
.......
...
.......

Comunicaciones Digitales

de Canal
Codificacion

56 / 99

T EMA 5
FRENTE A ERRORES
T E CNICAS DE PROTECCI ON

(C ODIGOS
DE REJILLA (TCM))

MMC (UC3M)

Comunicaciones Digitales

de Canal
Codificacion

57 / 99


Codigos
de rejilla
como codigos

Conocidos tambien
TCM
Trellis Coded Modulation

conjunto de codigos

Diseno
convolucionales y del
codificador del transmisor
Uso eficiente del ancho de banda de un canal
La redundancia se introduce aumentando el orden de la

constelacion
acorde al tamano
de la salida
Orden de la constelacion
codificada

Posibilidad de tasas relativamente altas mediante las


transiciones paralelo

MMC (UC3M)

Comunicaciones Digitales

de Canal
Codificacion

58 / 99


Codigos
de rejilla - Definiciones

kp ... np

knp ...

Convolucional
knp , nnp

Constelacion
n = np + nnp
..
. nnp

bits/smbolo

k entradas
kp transiciones paralelo (sin proteger)
knp transiciones no paralelo (protegidas)

n salidas
np = kp transiciones paralelo (sin proteger)
nnp transiciones no paralelo (protegidas)

2n smbolos (n = np + nnp bits/smbolo)


Constelacion:
MMC (UC3M)

Comunicaciones Digitales

de Canal
Codificacion

59 / 99


de bits
Codigos
de rejilla - Asignacion
reglas de Ungerboeck
Reglas de diseno:
para minimizar la probabilidad de error
Asignacion
de la constelacion
+ asignacion
de bits
Division

de la constelacion
en subconstelaciones
Division
sucesiva aumentando la distancia mnima
Division
2np
Smbolos por subconstelacion:
Numero
de subconstelaciones: 2nnp

de bits
Asignacion
de un smbolo dentro de la
Transiciones paralelo: seleccion

subconstelacion
fsica sobre la constelacion
(Gray)
Proteccion

de una subconstelacion

Transiciones no paralelo: seleccion


mediante codigo

Proteccion
convolucional

Maxima
distancia: ramas que salen de o llegan a un mismo
estado
de smbolos
Equiprobabilidad en la asignacion
MMC (UC3M)

Comunicaciones Digitales

de Canal
Codificacion

60 / 99

Ejemplo: kp = 1, knp = 1, nnp = 2, 8-PSK

Codigo
de tasa 2/3
en paralelo
Una transicion
Convolucional de tasa 1/2 (Convolucional Ejemplo D)

3
2

Convolucional
1/2

Constelacion
3 bits/smbolo

1
0

1|01

................................................................................................
............
....
........
.......
0|10 ............................. ...............
.
.
.
.
.
.
.
.
.
.
1|00
...... ......................
......
.............
........
................... .............
............
..... ...........
............
0|11 ........................... ....................................................
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
............
1|10......................... .........
...........
.......
.... ..
.......
......
...... .....................
0|01
.....................
.
.
.
.
.
.
.
.
.
.
.
.......
1|11 .....................
.
.
.
.......
........
...............................................................................................

[n]

0|00

[n + 1]

con 3 bits por smbolo: 8 smbolos


Constelacion
8-PSK

MMC (UC3M)

Comunicaciones Digitales

de Canal
Codificacion

61 / 99

de la constelacion

Ejemplo: Division
s

s
s

B0

s
c

C0

C1

c
c

MMC (UC3M)

s
c

C2

c
c

s
c

s
c

s
c

s
B1

c
c

s
C3

c
s

Comunicaciones Digitales

c
c

de Canal
Codificacion

62 / 99

de las transiciones no paralelo


Ejemplo: Asignacion

3
2
1
0

C3
C0

C1
C3

C2
C1

[n]

MMC (UC3M)

C2

...................................................................................................................................................................................
............
...
............
......
............
......
............
.......
............
......
.
.
.
.
............
.
.....
............
.......
............
............ .............
........
...... ........................
.
.
.
.
.
.
............
.......
............
......
............
.............
.
.......
...................
..........
.......
....... .............
......
............
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
....... ............
........
.
.
.
.
............ ............
.
.......
.
.
.
.
.
.
............
.......
.......
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
............
....... ......
...... .................
.. ...
...........
...............................
....... .................................
............
.
............
.......
...... ....................... .............
............
.
.
.
.
.
............
.......
....... ............
............
.......
...................
............
.......
.............
.......
............
.......
............
.
.
.......
.
.
.
.
.
.
.
.
.
.......
....
...........................
....... ..........
............
.......
............
.......
............
.......
............
.
.......
.
.
.
.
.
.
.
.
.
.
.......
........
.
.
.
.
.
.
.
.
.......
.
.
.
.......
.
.
.......
.
.
.
.
.
.
.
.
.
..
.....
...................................................................................................................................................................................

C0

Comunicaciones Digitales

[n + 1]

de Canal
Codificacion

63 / 99

(convolucional D)
Asignacion
3
2
1
0

1|01

.................................................................................................
............
....
........
.......
0|10 ............................. ...............
.
.
.
.
.
.
.
.
.
.
1|00
...... ......................
......
.............
.......
................... .............
............
..... ...........
............
0|11 ........................... .....................................................
............
. ................
.
.
.
.
.
............
1|10...................... ........
..........
.......
......
.......
.....
..... ......................
0|01
......................
.
.
.
.
.
.
.
.
.
.
.
.......
1|11 ....................
.
.
.
.
......
.........
...............................................................................................

[n]

0|00

0|11

[n]

s0|00

C0

[n + 1]

s1|01
0|11
s

0|01 s

MMC (UC3M)

[n + 1]

1|10 s

C2
.................................................................................................
............
......
............
.......
............
C3
............ .............
.
.
.
.
.
.
.
.
.
.
.
C0
...... .......................
......
.............
......
................... .............
............
.... ...........
............
C1 ............................ ...................................................
............
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
............
C3 ....................... .........
...........
.......
.......
.......
.....
..... ......................
C2
......................
.
.
.
.
.
.
.
.
.
.
.
.......
C1 ....................
.
.
.
.
......
.........
...............................................................................................

1|00 s

s0|10

Comunicaciones Digitales

de Canal
Codificacion

64 / 99

Prestaciones

Distancia mnima del codigo


- La mnima de:
Distancia mnima paralelo
normalizada): dp = 2
Ejemplo anterior (constelacion
Mnima distancia entre puntos de las subconstelaciones

Distancia mnima no paralelo


Distancia del convolucional medida sobre las
subconstelaciones
Ejemplo anterior
q
dnp = d2 (C0 , C1 ) + d2 (C0 , C2 ) + d2 (C0 , C1 ) = 2,14

Ganancia de codificacion
con la constelacion
equivalente sin codificar
Comparacion
efectiva)
(misma velocidad de transmision
Ejemplo anterior: 4-PSK

TCM 2
dmin
EbSC
G = TCM
2 = 2 (3 dB)
Eb
dSC
min

MMC (UC3M)

Comunicaciones Digitales

de Canal
Codificacion

65 / 99

T EMA 5
FRENTE A ERRORES
T E CNICAS DE PROTECCI ON

(C ODIGOS
BCH)

MMC (UC3M)

Comunicaciones Digitales

de Canal
Codificacion

66 / 99

Campos finitos (Campos de Galois)


de campo
Definicion
Conjunto de elementos sobre el que es posible definir dos
excepto por
operaciones, suma (resta) y producto (division,
el elemento nulo), y dos elementos distinguidos, elemento
nulo (0), elemento unidad (1), que cumplen las siguientes
propiedades:
Asociativa
Conmutativa
Distributiva

Campo finito
Numero
finito, q, de elementos del campo: Orden q, GF(q)

Orden primo: pn con p primo y n entero

Construccion:
Polinomio irreducible de grado n y coeficientes en GF(p)

MMC (UC3M)

Comunicaciones Digitales

de Canal
Codificacion

67 / 99

Campos finitos GF(2m )


Modelo para grupos de m bits (m-tuplas)
Representaciones de los miembros del campo
Polinomios en de grado m 1
Tupla Polinomio Tupla Polinomio
000
0
100
2
2
001
1
101
+1
010

110
2 +
2
011
+1
111
++1
j
Potencia de ( , para j = , 0, 1, , m 2)

sobre m para el producto (consistencia)


Restriccion
Polinomio generador
Coeficientes binarios (p = 2)
Ejemplo: p(x) = x3 + x + 1
3 = + 1
Restriccion:

MMC (UC3M)

Comunicaciones Digitales

de Canal
Codificacion

68 / 99

Definiciones
Polinomio irreducible
Polinomio que no se puede factorizar

Polinomio primitivo
p(x) de grado m es primitivo si el menor entero n para el que
p(x) divide a xn 1 es n = 2m 1

Polinomio minimal de i
Polinomio de menor grado con i como raz (polinomio con
coeficientes binarios)

MMC (UC3M)

Comunicaciones Digitales

de Canal
Codificacion

69 / 99

Polinomio generador
Polinomio irreducible
Polinomio primitivo
Polinomio de grado m
sobre m
es una raz del polinomio restriccion
p() = 3 + + 1 = 0 3 = + 1
de periodicidad
Polinomio primitivo restriccion
p(x) divide a xn 1 (con n = 2m 1)
n = 1 = 0
Periodicidad exponencial de perodo n

Elementos del campo


Resto del cociente con p() (polinomio)
Ejemplo: 3 + 2 + + 1 = ( + 1) + 2 + + 1 = 2

3 + 2 + + 1 = (3 + + 1) 1 + 2
MMC (UC3M)

Comunicaciones Digitales

de Canal
Codificacion

70 / 99

de j a una tupla
Adjudicacion
de la restriccion
del polinomio generador
Utilizacion
j
= 0
0 = 1
1
2
3
4
5
6
7

Polinomio
Tupla
0
000
1
001

010
2

100
+1
011
(3 ) = 2 +
110
3
2
2
+ = ++1
111
3
2
2
2
+ + = + 1 + + = + 1 101
3 + = + 1 + = 1

Periodicidad de perodo n = 2m 1:
n = 0 k = k %n
MMC (UC3M)

Comunicaciones Digitales


de Canal
Codificacion

71 / 99


Polinomios minimales - Cosets ciclotomicos

Coset ciclotomico
Conjunto que agrupa a las raices que comparten los
polinomios minimales
Exponentes de las raices agrupadas en el coset Ci
{i, 2i, 22 i, , 2zi 1 i}
z

zi : mnimo valor que cumple 2 i i = i

Races
Polinomio minimal
0
x
C0 = 1
x+1
C1 = {, 2 , 4 }
x3 + x + 1
3
6
5
C3 = { , , }
x3 + x2 + 1
Races de xn 1: 0 (1),, 2 , , n1
x7 1 = (x 1) (x ) (x 6 )
Producto de los polinomios minimales de los cosets

x7 1 = (x + 1) (x3 + x + 1) (x3 + x2 + 1)
MMC (UC3M)

Comunicaciones Digitales

de Canal
Codificacion

72 / 99

de los cosets (ejemplo)


Formacion
Coset C0
C0 = {1}, 12 = 1
Coset C1


C1 = , 2 , 4 , 8 =
Coset C2 : 2 ya esta incluido en C1
Coset C3


C3 = 3 , 6 , 12 = 5 , 24 = 3

MMC (UC3M)

Comunicaciones Digitales

de Canal
Codificacion

73 / 99

de los polinomios binarios


Formacion
Agrupamiento de races distintas a todas las de un coset
p(x) = (x ) (x 2 ) = x2 ( + 2 ) x + 3
Polinomio con coeficientes no binarios

Polinomio minimal de C1
p1 (x) =(x ) (x 2 ) (x 4 )
=(x2 ( + 2 ) x + 3 ) (x 4 )
=x3 ( + 2 + 4 ) x2 + (3 + 5 + 6 ) x 7
=x3 + ( + 2 + 2 + ) x2
+ ( + 1 + 2 + + 1 + 2 + 1) x 1
=x3 + x + 1
MMC (UC3M)

Comunicaciones Digitales

de Canal
Codificacion

74 / 99


Codigos
BCH

Acronimo
de Bose, Chaudhuri y Hocquenghem

Codigos
versatiles
y constructivos
Cualquier distancia mnima

Cualquier longitud de codigo


impar (n impar)
de codigos

Permite el diseno
no binarios
Casos particulares interesantes
Hamming
Golay
Reed Solomon (no binario)

Algoritmo eficiente de decodificacion

Principio basico
para su diseno
Teorema BCH

MMC (UC3M)

Comunicaciones Digitales

de Canal
Codificacion

75 / 99

de codigos

Teorema BCH (simplificado) - Diseno


BCH

Un codigo
cclico C(k, n) con un polinimio generador g(x)
que tiene 1 races consecutivas en un campo GF(2m ),
con el menor m tal que 2m 1 sea multiplo
de n, es un

codigo
cclico que garantiza un distancia mnima
dmin

de t errores
Codigo
con capacidad de correccion
Distancia mnima dmin 2 t + 1
Buscar un entero m tal que n = 2m 1 (o n divisor de 2m 1)
Agrupar dmin 1 races consecutivas en GF(2m )
del polinomio generador g(x)
Obtencion
de los polinomios minimales
Utilizacion
coeficientes binarios
del codigo:

Tamano
grado(g(x))=n k

MMC (UC3M)

Comunicaciones Digitales

de Canal
Codificacion

76 / 99

Ejemplo: n = 63
m=6
Polinomio generador p(x) = x6 + x + 1
Cosets y polinomios minimales
Elementos
n del coset
o
C0 = 0 = 1
n
o
C1 = 1 , 2 , 4 , 8 , 16 , 32
n
o
3
6
12
24
33
48
C3 = , , , , ,
n
o
C5 = 5 , 10 , 17 , 20 , 34 , 40
n
o
C7 = 7 , 14 , 28 , 35 , 49 , 56
n
o
C9 = 9 , 18 , 36
n
o
C11 = 11 , 22 , 25 , 37 , 44 , 50
n
o
C13 = 13 , 19 , 26 , 38 , 41 , 52
n
o
C15 = 15 , 30 , 39 , 51 , 57 , 60
n
o
C21 = 21 , 42
n
o
C23 = 23 , 29 , 43 , 46 , 53 , 58
n
o
C27 = 27 , 45 , 54
n
o
C31 = 31 , 47 , 55 , 59 , 61 , 62

MMC (UC3M)

Polinomio minimal
p0 (x) = x + 1
p1 (x) = x6 + x + 1
p3 (x) = x6 + x4 + x2 + x + 1
p5 (x) = x6 + x5 + x2 + x + 1
p7 (x) = x6 + x3 + 1
p9 (x) = x3 + x2 1
p11 (x) = x6 + x5 + x3 + x2 + 1
p13 (x) = x6 + x4 + x3 + x + 1
p15 (x) = x6 + x5 + x4 + x2 + 1
p21 (x) = x2 + x + 1
p23 (x) = x6 + x5 + x4 + x + 1
p27 (x) = x3 + x + 1
p31 (x) = x6 + x5 + 1

Comunicaciones Digitales

de Canal
Codificacion

77 / 99

Polinomio generador para t = 3 errores


Distancia mnima: dmin = 7
Races necesarias: 6 races consecutivas
, 2 , 3 , 4 , 5 y 6

Polinomios minimales necesarios


p1 (x) (, 2 , 4 ), p3 (x) (3 , 6 ), p5 (x) (5 )

Polinomio generador g(x)


p(x) =p1 (x) p3 (x) p5 (x)
=x18 + x17 + x16 + x15 + x9 + x7 + x6 + x3 + x2 + x + 1

Caractersticas del codigo


k = 63 18 = 45
Redundancia r = n k = 18 (numero
de races)

6 races utiles

12 races no utiles

MMC (UC3M)

Comunicaciones Digitales

de Canal
Codificacion

78 / 99

para n 6= 2m 1
Diseno
el codigo

Se puede disenar
si n es un divisor de 2m 1
Ejemplo: n = 21

2m 1
n

= 3 (para m = 6)
m 1

n races de x 1 entre las 2m 1 races de x2


n

Cosets Ci tales que i

n
2m 1

Elementos
n del coset
o
C0 = 0 = 1
n
o
C1 = 1 , 2 , 4 , 8 , 16 , 32
n
o
C3 = 3 , 6 , 12 , 24 , 33 , 48
n
o
5
10
17
20
34
40
C5 = , , , , ,
n
o
C7 = 7 , 14 , 28 , 35 , 49 , 56
n
o
C9 = 9 , 18 , 36
n
o
C11 = 11 , 22 , 25 , 37 , 44 , 50
n
o
C13 = 13 , 19 , 26 , 38 , 41 , 52
n
o
C15 = 15 , 30 , 39 , 51 , 57 , 60
n
o
C21 = 21 , 42
n
o
C23 = 23 , 29 , 43 , 46 , 53 , 58
n
o
C27 = 27 , 45 , 54
n
o
C31 = 31 , 47 , 55 , 59 , 61 , 62

MMC (UC3M)

Z
Polinomio minimal
p0 (x) = x + 1
p1 (x) = x6 + x + 1
p3 (x) = x6 + x4 + x2 + x + 1
p5 (x) = x6 + x5 + x2 + x + 1
p7 (x) = x6 + x3 + 1
p9 (x) = x3 + x2 + 1
p11 (x) = x6 + x5 + x3 + x2 + 1
p13 (x) = x6 + x4 + x3 + x + 1
p15 (x) = x6 + x5 + x4 + x2 + 1
p21 (x) = x2 + x + 1
p23 (x) = x6 + x5 + x4 + x + 1
p27 (x) = x3 + x + 1
p31 (x) = x6 + x5 + 1

Comunicaciones Digitales

de Canal
Codificacion

79 / 99

para n 6= 2m 1 - Cosets para n


Diseno
Nuevos cosets Ci0 a partir de Cj
m

Dividir los exponentes por 2 n1


Polinomios par las nuevas races
Elementos
del coset

C00 = 0 = 1

C10 = 1 , 2 , 4 , 8 , 11 , 16
C30 = 3 , 6 , 12

, 13 , 17 , 19 , 20
C50 = 5 , 10
C70 = 7 , 14

C90 = 9 , 15 , 18

Polinomio minimal
p00 (x) = x + 1
p01 (x) = x6 + x4 + x2 + x + 1
p03 (x) = x3 + x2 + 1
p05 (x) = x6 + x5 + x4 + x2 + 1
p07 (x) = x2 + x + 1
p09 (x) = x3 + x + 1

Menos eficiencia que para n = 2m 1

MMC (UC3M)

Comunicaciones Digitales

de Canal
Codificacion

80 / 99

de codigos

Decodificacion
BCH binarios
en tres pasos
Decodificacion
del sndrome
Obtencion
del polinomio localizador de errores (x)
Obtencion
Encontrar las races de (x)

Dos implementaciones algortmicas


Algoritmo de Peterson (1960)
Complejidad escala con t2

Algoritmo de Berlekamp (1967)


Complejidad escala con t

MMC (UC3M)

Comunicaciones Digitales

de Canal
Codificacion

81 / 99

del sndrome
Obtencion
del codigo:

Construccion
2t races consecutivas
g(a ) = g(a+1 ) = = g(a+2t1 ) = 0
de la palabra codificada: c(x) = b(x) g(x)
Representacion

Para las palabras codigo


c(a ) = c(a+1 ) = = c(a+2t1 ) = 0
polinomica

Representacion
de la palabra recibida
r(x) = r[0] xn1 + r[1] xn2 + + r[n 1] 1 =

n
X

r[i 1] xni

i=1
j

Sndrome j (para la raz )


sj = r(j ) =

n
X

r[i 1] (j )ni =

i=1

n
X

e[i 1] (j )ni = bj

i=1

Polinomio de sndrome
s(x) = sa x + sa+1 x2 + + sa+2t1 x2t
MMC (UC3M)

Comunicaciones Digitales

de Canal
Codificacion

82 / 99

Ejemplo

Codigo
n = 31, k = 21, t = 2 errores
g(x) = x10 + x9 + x8 + x6 + x5 + x3 + 1
Palabra recibida
r(x) = x12 + x11 + x8 + x7 + x2

Calculo
de los sndromes
s1 = r() = 12 + 11 + 8 + 7 + 2 = 7
s2 = r(2 ) = (2 )12 + (2 )11 + (2 )8 + (2 )7 + (2 )2 = 14
s3 = r(3 ) = (3 )12 + (3 )11 + (3 )8 + (3 )7 + (3 )2 = 8
s4 = r(4 ) = (4 )12 + (4 )11 + (4 )8 + (4 )7 + (4 )2 = 28
Polinomio de sndrome
s(x) = 7 x + 14 x2 + 8 x3 + 28 x4
MMC (UC3M)

Comunicaciones Digitales

de Canal
Codificacion

83 / 99


Calculo
de sndrome mediante matriz de paridad

Calculo
de sndromes de ndice impar
n1

n2
3(n1) 3(n2) 3

s = Hr =
..
..
.
..

. ..
.
.
b(n1) b(n2)

1
1
..
.

b 1

r[0]
r[1]
..
.
r[n 1]

b = 2t 1

Calculo
de los sndromes de ndice par
s2i = (si )2

MMC (UC3M)

Comunicaciones Digitales

de Canal
Codificacion

84 / 99

Calculo
del sndrome mediante division
de g(x) mediante polinomios minimales
Factorizacion
g(x) = pa (x) pb (x) pc (x) = pa (x) q(x)
de la palabra recibida
Representacion
r(x) = c(x) q(x) pa (x) + R(x)
pa (x) polinomio minimal de i )
Sndrome si (Notacion:
si = r(i ) = R(i )
con pa (x) evaluado en i
Resto de la division
eficiente mediante registros de desplazamiento
Evaluacion

MMC (UC3M)

Comunicaciones Digitales

de Canal
Codificacion

85 / 99

Polinomio localizador de error


Polinomio cuyas raices identifican las posiciones de los
errores
Posiciones de los errores: i1 , i2 , iv con (v t)
Polinomio localizador de error
(x) =

v
Y


1 ij x = v xv + v1 xv1 + 1 x + 1

j=1

Calculo
de los coeficientes del polinomio
matricial)
Algoritmo de Peterson (solucion
iterativa)
Algoritmo de Berlekamp (solucion

MMC (UC3M)

Comunicaciones Digitales

de Canal
Codificacion

86 / 99

Algoritmo de Peterson
Sistema matricial de ecuaciones


s1 s2
s3
st
s2 s3

s4 st+1

s3 s4
s5 st+2

..
..
..
..
.
.
.
.
.
.
.
st st+1 st+2 s2t1

t
t1
t2
..
.

st+1
st+2
st+3
..
.

s2t

de los coeficientes mediante la inversion


de la
Obtencion
matriz
Si el determinante es nulo
Quitar una fila y una columna (t 1 errores)
Repetir hasta que el determinante sea no nulo

MMC (UC3M)

Comunicaciones Digitales

de Canal
Codificacion

87 / 99

Algoritmo de Berlekamp
recursiva al sistema de ecuaciones
Solucion
st+k =

t
X

j st+kj

j=1

eficiente del polinomio


Calculo
mas
Algoritmo con t iteraciones
1
2
3
4

k = 0, (0) (x) = 1, T (0) (x) = 1


Inicializacion:
Z (k) = coeficiente de x2k+1 de (k) (x) [1 + s(x)]
(k+1) (x) = (k) (x) + Z (k) [xT (k) (x)]
Actualizar T (k+1) (x)
T (k+1) (x) = x2 T (k) (x) si Z (k) = 0 o grado((k) (x)) > k
T (k+1) (x) = x T (k) (x)/Z (k) si Z (k) 6= 0 y grado((k) (x)) k

k = k + 1. Si k < t volver a 2

MMC (UC3M)

Comunicaciones Digitales

de Canal
Codificacion

88 / 99

Busqueda

de las races de (x)


i-esima

Para un error en la posicion


(i ) = 0
Busqueda
de Chien: probar con todas las posiciones i

n 1 ((n1) ) = 0 () = 0
n 2 ((n2) ) = 0 (2 ) = 0
n j ((nj) ) = 0 (j ) = 0

MMC (UC3M)

Comunicaciones Digitales

de Canal
Codificacion

89 / 99


Codigos
Reed Solomon (RS)

Variante no binaria de los codigos


BCH

Codigos
definidos sobre smbolos de GF(pm )
k n smbolos Reed Solomon (m-tuplas de bits)

Longitud del codigo


n = pm 1

Son codigos
de distancia mnima dmin = n k + 1

Valor maximo
posible (lmite de Singleton)

del codigo

Diseno
para corregir t errores
del polinomio generador g(x) agrupando 2t races
Obtencion
g(x) = (x ) (x 2 ) (x 2t )
Coeficientes de g(x) en GF(2m ) (no binarios)
Smbolos Reed Solomon

No hay races inutiles:


mnima redundancia

MMC (UC3M)

Comunicaciones Digitales

de Canal
Codificacion

90 / 99


Codificacion
Mensaje a codificar
Bloque de k smbolos RS (m-tuplas de bits)
polinomica

Representacion
b(x)
Grado k 1
Coeficientes en GF(2m ) (no binarios)

Palabra codificada
Bloque de n smbolos RS
polinomica

Representacion
c(x)
Grado n 1
Coeficientes en GF(2m ) (no binarios)

Codificacion
c(x) = b(x) g(x)

MMC (UC3M)

Comunicaciones Digitales

de Canal
Codificacion

91 / 99


Ejemplo - Codigo
RS(5, 7) - t = 1 error
Smbolos sobre GF(23 )
(n = 2m 1, m = 3)
j
= 0
0
1
2
3
4
5
6

Polinomio
0
1

2
+1
2 +
2 + + 1
2 + 1

Tupla
000
001
010
100
011
110
111
101

Polinomio generador
g(x) =(x ) (x 2 )
=x2 + (2 + ) x + ( + 1)
=x2 + 4 x + 3

Palabra mensaje b = 110 001 011 010 101


b(x) =(2 + ) x4 + 1 x3 + ( + 1) x2 + x + (2 + 1) 1
=4 x4 + x3 + 3 x2 + x + 6
c = 110 011 110 000 111 101 100
Codificacion
c(x) = b(x) g(x) = 4 x6 + 3 x5 + 4 x4 + 5 x2 + 6 x + 2
MMC (UC3M)

Comunicaciones Digitales

de Canal
Codificacion

92 / 99

Lmite de singleton

Maxima
distancia mnima para un cosigo
C(k, n)
dmin n k + 1

Para codigos
RS
dmin = 2t + 1 = grado(g(x)) + 1

Redundancia del codigo


n k = grado(g(x)) = dmin 1
Distancia mnima
dmin = n k + 1

MMC (UC3M)

Comunicaciones Digitales

de Canal
Codificacion

93 / 99

de codigos

Decodificacion
Reed Solomon
similar a codigos

Decodificacion
BCH binarios
en cuatro pasos
Decodificacion
del sndrome
Obtencion
del polinomio localizador de errores (x)
Obtencion
Encontrar las races de (x)
del polinomio de error e(x)
Obtencion

Implementaciones algortmicas
Algoritmo de Peterson-Gorenstein-Zierler
Complejidad escala con t2

Algoritmo de Berlekamp-Massey
Complejidad escala con t

Algoritmo de Forney para magnitudes de error

MMC (UC3M)

Comunicaciones Digitales

de Canal
Codificacion

94 / 99

del sndrome
Obtencion
del codigo:

Construccion
2t races consecutivas
g(a ) = g(a+1 ) = = g(a+2t1 ) = 0
de la palabra codificada: c(x) = b(x) g(x)
Representacion

Para las palabras codigo


c(a ) = c(a+1 ) = = c(a+2t1 ) = 0
polinomica

Representacion
de la palabra recibida
r(x) = r[0] xn1 + r[1] xn2 + + r[n 1] 1 =

n
X

r[i 1] xni

i=1
j

Sndrome j (para la raz )


sj = r(j ) =

n
X

r[i 1] (j )ni =

i=1

n
X

e[i 1] (j )ni = bj

i=1

Polinomio de sndrome
s(x) = sa x + sa+1 x2 + + sa+2t1 x2t
MMC (UC3M)

Comunicaciones Digitales

de Canal
Codificacion

95 / 99

Polinomio localizador de error


Polinomio cuyas raices identifican las posiciones de los
errores
Posiciones de los errores: i1 , i2 , iv con (v t)
Polinomio localizador de error
(x) =

v
Y


1 ij x = v xv + v1 xv1 + 1 x + 1

j=1

Polinomio de error: magnitud de los errores


e(x) = ei1 xi1 + ei2 xi2 + + eit xit

Calculo
de los coeficientes de los polinomios
matricial)
Algoritmo de Peterson-Gorensten-Zierler (solucion
iterativa)
Algoritmo de Berlekamp-Massey (solucion
iterativa)
Algoritmo de Forney (solucion
MMC (UC3M)

Comunicaciones Digitales

de Canal
Codificacion

96 / 99

Algoritmo de Peterson-Gorenstein-Zierler
Sistema matricial de ecuaciones


s1 s2
s3
st
s2 s3

s4 st+1

s3 s4
s5 st+2

..
..
..
..
.
.
.
.
.
.
.
st st+1 st+2 s2t1

i1
i2
i3
iv
2
2
2
2
(i1 ) (i2 ) (i3 ) (iv )
..
..
..
..
..
.
.
.
.
.
v
v
v
v
(i1 ) (i2 ) (i3 ) (iv )

MMC (UC3M)

Comunicaciones Digitales

t
t1
t2
..
.

st+1
st+2
st+3
..
.

s2t
ei1
ei2
..
.
eiv

s1
s2
..
.

sv

de Canal
Codificacion

97 / 99

Algoritmo de Berlekamp-Massey

eficiente del polinomio localizador (x)


Calculo
mas
Algoritmo con t iteraciones
1

k = 0, (0) (x) = 1, T (0) (x) = 1, L(0) = 0


Inicializacion:
L
X
(k1)
k = k + 1 y Z (k) = sk
i
sk1
i=1

3
4
5
6
7
8

Si Z (k) = 0, ir a 7
(k) (x) = (k1) (x) + Z (k) [T (k) (x)]
Si 2L k, ir a 7
L = k L y T (k) (x) = (k1) (x)/Z (k)
T (k) (x) = x T (k) (x)
Si k < t volver a 2

MMC (UC3M)

Comunicaciones Digitales

de Canal
Codificacion

98 / 99

Algoritmo de Forney

Calculo
de los coeficientes del polinomio de error e(x)
eficiente que la solucion
matricial
Mas
mediante division
de polinomios
Obtencion
eik =

ik (ik )
0 (ik )

Polinomio (x)
(x) = (x) [1 + s(x)]
Polinomio 0 (x)
Derivada de (x)

MMC (UC3M)

Comunicaciones Digitales

de Canal
Codificacion

99 / 99

Você também pode gostar