Escolar Documentos
Profissional Documentos
Cultura Documentos
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
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
Limitaciones: Econonicas,
fsicas, legales, interferencias, ...
MMC (UC3M)
Comunicaciones Digitales
de Canal
Codificacion
3 / 99
Capacidad de canal
C = max I(X, Y) bits/uso
pX (xi )
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
MMC (UC3M)
Comunicaciones Digitales
de Canal
Codificacion
5 / 99
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
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
Comunicaciones Digitales
de Canal
Codificacion
7 / 99
=
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
MMC (UC3M)
Comunicaciones Digitales
de Canal
Codificacion
9 / 99
Tipos de codigos
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
Codigos
convolucionales
continua mediante filtrado digital
Codificacion
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
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
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
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
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:
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)
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]
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
MMC (UC3M)
Comunicaciones Digitales
de Canal
Codificacion
18 / 99
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
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
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
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
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
?
- 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
Codigo
de Golay extendido
Anade
un bit de paridad
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
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 -
MMC (UC3M)
Comunicaciones Digitales
de Canal
Codificacion
36 / 99
Decodificador codigos
sistematicos
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
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
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
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
Mt =
k1
X
M (i)
i=0
K
Longitud de restriccion:
Maxima
longitud de la respuesta al impulso del codificador
(maximo
numero
de instantes de tiempo en los que un bit
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]
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
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
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
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
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
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
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)
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
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
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]
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
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
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
Campo finito
Numero
finito, q, de elementos del campo: Orden q, GF(q)
Construccion:
Polinomio irreducible de grado n y coeficientes en GF(p)
MMC (UC3M)
Comunicaciones Digitales
de Canal
Codificacion
67 / 99
110
2 +
2
011
+1
111
++1
j
Potencia de ( , para j = , 0, 1, , m 2)
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
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
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
MMC (UC3M)
Comunicaciones Digitales
de Canal
Codificacion
73 / 99
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
Permite el diseno
no binarios
Casos particulares interesantes
Hamming
Golay
Reed Solomon (no binario)
Principio basico
para su diseno
Teorema BCH
MMC (UC3M)
Comunicaciones Digitales
de Canal
Codificacion
75 / 99
de codigos
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
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
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
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
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)
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
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
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
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
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
k = k + 1. Si k < t volver a 2
MMC (UC3M)
Comunicaciones Digitales
de Canal
Codificacion
88 / 99
Busqueda
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)
Codigos
definidos sobre smbolos de GF(pm )
k n smbolos Reed Solomon (m-tuplas de bits)
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
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
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
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
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
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
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
v
Y
1 ij x = v xv + v1 xv1 + 1 x + 1
j=1
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
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