You are on page 1of 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 energ´ıa de la senal
´
Limitaciones: Econonicas,
f´ısicas, 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

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 1−ε C = 1 − Hb (ε) bits/uso MMC (UC3M) Comunicaciones Digitales ´ de Canal Codificacion 4 / 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 = m´ax I(X.

...9 ..2 ...6 0..8 0.. . . .a..... 0......7 0.. .... .. .6 . . ..4 . . .. . .........3 .. 0. ....7 . . ..... . 0.... .2 0...5 0.Entrop´ıa binaria Hb (p) Entrop´ıa de una v..... . .5 . . .... .9 1 Probabilidad p MMC (UC3M) Comunicaciones Digitales ´ de Canal Codificacion 5 / 99 .4 0.. .... 0. ..1 ...... 0.... ... ... .. . .. 0 0 0. 0.1 0. ... ... ... ... ... . ..... ... 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 .... . .3 0. 0.8 .. ... 0. . . .. .. 0. . ..... .

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 .Capacidad de canal .Canal gausiano Capacidad sobre canal gausiano en las siguientes condiciones: Potencia transmitida: P watt.

η < log 1 + η · No η Eb 2 −1 SNR > 2η − 1.693 ≈ −1.6 dB Comunicaciones Digitales ´ de Canal Codificacion 7 / 99 .Eb = ´ Eb /N0 = Relacion Rb B bits/s/Hz P Rb SNR η   Eb η < log (1 + SNR) . > No η Cuando η → 0 MMC (UC3M) Eb No = ln2 = 0.Cotas ´ de B Capacidad en funcion l´ım C = B→∞ P P log2 (e) = 1.44 · No No ´ Sistema de comunicaciones practico Rb < B · log (1 + SNR) bits/s Tasa binaria (eficiencia) espectral: η = Energ´ıa media por bit .

. . . ........ ... ....... ..... .... .. . .. . . . . ..... . . . .. .. . . .. ... 5 10 15 20 . . .. ... . . . . .. .... 10−1 6 Eb No dB −1... . .. .... ... . ....... . η= 101 Rb B .. . .. . . . . . .... ... . ... . ..Tasa binaria (eficiencia) espectral frente a Eb /N0 ..... .. ..... . . . . . .. . .... . .... . . . .. ... . ...... .. ..... . . 1 .. 0 . .. . .... .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 ´ Estad´ıstico 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/s´ımbolos 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 .

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]. 1. · · · . i = 0. bi [1]. ci [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 . 1. · · · .´ Codigos bloque . 2k − 1 Informacion: Codificados: ci = [ci [0]. ci [n − 1]]. · · · . bi [k − 1]]. i = 0. cj ) Numero de bits diferentes entre ambas palabras ´ ´ Distancia m´ınima del codigo: dmin ´ M´ınima distancia de Hamming entre dos palabras codigo distintas MMC (UC3M) Comunicaciones Digitales ´ de Canal Codificacion 12 / 99 .

e = [e[0]. e[j] = 0 Verosimilitud pr|c (r|ci ) = n−1 Y εr[j]−ci [j] · (1 − ε)1−(r[j]−ci [j]) j=0 ´ Estimador de maxima verosimilitud (ML) ˆci = arg m´ın dH (r. e[j] = 1 pE (e[j]) = εe[j] · (1 − ε)1−e[j] = 1 − ε. · · · . e[1]. ci ) ci MMC (UC3M) Comunicaciones Digitales ´ de Canal Codificacion 13 / 99 .´ Estimador optimo .Salida dura ´ condicionada a la transmision ´ de ci Observacion r = ci + e. e[n − 1]] ´ de error (BER = ε) Modelo probabil´ıstico del patron ( ε.

´ y correccion ´ con salida dura Capacidades de deteccion ´ Distancia m´ınima 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 s´ımbolos (m = log2 (M) bits/s´ımbolo Constelacion: ´ Secuencia de s´ımbolos para una palabra codigo ci → Ai = [Ai [0]. Ai [n0 − 1]]. Ai [1]. · · · . σz2 ) ´ Estimador de maxima verosimilitud ˆc = arg m´ın de (q. e = [e[0]. Ai ) i MMC (UC3M) Comunicaciones Digitales ´ de Canal Codificacion 15 / 99 . e[1]. e[n0 − 1]] Modelo probabil´ıstico del error: fE (e[j]) = N(0. n0 = n m ´ condicionada a ci Modelo de la observacion q = Ai + e. · · · . σz2 ) Verosimilitud: fq|A (q|Ai ) = N(Ai .

0. gk−1 } gi = [gi [0]. g1 . gi [n − 1]] ´ ´ lineal de las k bases Palabra codigo: combinacion ci = bi [0] · g0 + bi [1] · g1 + · · · + bi [k − 1] · gk−1 Propiedades ´ c0 = 0 = [0.´ Codigos bloque lineales ´ Codigo C(k. 0] pertenece al codigo ´ Todos los elementos de la base pertenencen al codigo ´ lineal de palabras codigo ´ Toda combinacion ∈ C(k. · · · . · · · . gi [1]. · · · . n) Todas las palabra tienen a otra palabra a distancia dmin dmin = m´ın w(ci ) ci 6=c0 MMC (UC3M) Comunicaciones Digitales ´ de Canal Codificacion 16 / 99 . n) ´ ´ Base del codigo: k palabras codigo linealmente independientes {g0 .

..   . gk−1 gk−1 [0] gk−1 [1] · · · gk−1 [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 ´ 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 =  . ..

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 m´ınima del codigo: dmin = 3 Detecta 2 errores Corrige 1 error MMC (UC3M) Comunicaciones Digitales ´ de Canal Codificacion 18 / 99 .´ Matriz generadora del codigo .

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 |In−k ] G = [P|Ik ] → H = [In−k |PT ] ´ de palabras codigo ´ Identificacion ci · HT = bi · G · HT = 0 vector de n − k ceros ´ mediante s´ındrome Decodificacion ´ r = ci + e (e: patron ´ de error) Modelo de transmision: S´ındrome s = r · HT = (ci + e) · HT = e · HT ´ Tabla de s´ındromes Decodificacion: MMC (UC3M) Comunicaciones Digitales ´ de Canal Codificacion 19 / 99 .

Ejemplo .Matriz de chequeo de paridad .

  .

  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 s´ındromes 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 .

n = 255: 2247 ≈ 2. n = 255 (t = 1): 256 s´ındromes MMC (UC3M) Comunicaciones Digitales ´ de Canal Codificacion 21 / 99 . n = 5: 4 palabras k = 247.26 · 1074 palabras Numero de s´ındromes posibles ´ k = 2.Ventaja de trabajar con G y H ´ Numero de palabras del codigo: 2k ´ k = 2. n = 5 (t = 1): 8 s´ındromes k = 247.

´ ´ . 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 s´ındromes MMC (UC3M) Comunicaciones Digitales ´ de Canal Codificacion 22 / 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.

L´ımite de Hamming Numero de s´ındromes con redundancia r = n − k: ´ 2n−k = 2r L´ımite de Hamming para corregir t errores t   X n r ≥ log2 V(n. V(n. t) = j j=0 V(n. t): Esfera de Hamming de radio t ´ con numero Interpretacion de s´ındromes disponibles ´       0 n n + + ··· + ≤ 2r 0 1 t ´ Igualdad: Codigos perfectos MMC (UC3M) Comunicaciones Digitales ´ de Canal Codificacion 23 / 99 . t).

t = 1 Matriz de chequeo: en las columnas aparecen todas las posibles combinaciones binarias de (n − k) bits.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. excepto la todo ceros ´ Ejemplo: Codigo Hamming (4. k = 11. t = 3 MMC (UC3M) Comunicaciones Digitales ´ de Canal Codificacion 24 / 99 . k = 2m − m − 1. t = (n − 1)/2 ´ Codigos de Hamming n = 2m − 1.´ Codigos perfectos ´ ´ (decision ´ por mayor´ıa) Codigos de repeticion n impar. k = 1.

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 − ε)n−j 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 n−t−1 − a · ε · (1 − ε) + · εj · (1 − ε)n−j 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 .´ dura Prestaciones .

a1 ) p p Pe ≈ c · Q dmin 2 N0 /2 MMC (UC3M) Comunicaciones Digitales ´ de Canal Codificacion 26 / 99 .´ blanda Prestaciones .Decodificacion Probabilidad de error Pe ≈ c · Q de pmin 2 N0 /2 ! e dmin : m´ınima distancia eucl´ıdea entre las secuencias de ´ s´ımbolos correspondientes a dos palabras codigo diferentes ´ c: maximo numero de palabras de distancia m´ınima de una ´ dada Modulaciones binarias q de (ci . cj ) ! d(a0 . cj ) = d(a0 . a1 ) dH (ci .

ci [n − 1]] ∈ C(k. ci [n − 1]. n). ci [1]. 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 . · · · . · · · . ci [0]] ∈ C(k. Definicion: entonces c0i = [ci [1].´ Codigos c´ıclicos ´ Codigos bloque lineales ´ si ci = [ci [0].

´ ´ Codificacion/Decodificaci on ´ Representaciones polinonicas Polinomio generador: g(x). grado n − k Polinomio de chequeo: h(x). grado k − 1 ´ Palabras codigo y recibida: c(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 . grado n − 1 S´ındrome: s(x). r(x). tal que g(x) × h(x) = xn − 1 Palabras mensaje: b(x).

´ 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 - Comunicaciones Digitales - - - ´ de Canal Codificacion 30 / 99 .n - MMC (UC3M) - ? .

1 .0 .1 .1 .0 .0 .1 .k .1 .0 .1 .k .0 1 .0 0 .0 1 .k - ? ? .0 .0 .k [0 1 0 1] [0 1 0 1] [0 1 0 1] MMC (UC3M) Comunicaciones Digitales ´ de Canal Codificacion 31 / 99 .0 .k - ? ? .0 .0 .0 .1 .0 0 .k - ? ? .k .0 .k .0 .Ejemplo b = [0101] [0 1 0 1] - ? ? .1 .

k = 26): g(x) = x5 + x2 + 1 m = 6 (n = 63. k = 120): g(x) = x7 + x3 + 1 m = 8 (n = 255. k = 11): g(x) = x4 + x + 1 m = 5 (n = 31. 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 . k = 57): g(x) = x6 + x + 1 m = 7 (n = 127. k = 4): g(x) = x3 + x + 1 m = 4 (n = 15.´ Codigos de Hamming Existen implementaciones c´ıclicas Algunos ejemplos: m = 3 (n = 7. k = 247): g(x) = x8 + x4 + x3 + x2 + 1 m = 9 (n = 511.

n = 23. t = 3 (dmin = 7) ´ Codigo c´ıclico 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 Golay k = 12.

´ ´ Codigos c´ıclicos sistematicos ´ de la palabra codigo ´ Definicion c(x) = b(x) × xn−k + d(x)   b(x) × xn−k 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) × xn−k 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) - ? .

 0 Comunicaciones Digitales - 0 0 - ´ de Canal Codificacion 36 / 99 .

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

 1 MMC (UC3M) - ? .

 0 Comunicaciones Digitales - 0 0 - ´ de Canal Codificacion 36 / 99 .

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

 0 MMC (UC3M) - ? .

 1 Comunicaciones Digitales - 0 0 - ´ de Canal Codificacion 36 / 99 .

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

 1 MMC (UC3M) - ? .

 0 Comunicaciones Digitales - 1 0 - ´ de Canal Codificacion 36 / 99 .

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

 1 MMC (UC3M) - ? .

 0 Comunicaciones Digitales - 0 1 - ´ de Canal Codificacion 36 / 99 .

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

 0 MMC (UC3M) - ? .

 1 Comunicaciones Digitales - 0 0 - ´ de Canal Codificacion 36 / 99 .

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

 0 - ? .



0

-

1

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 s´ındrome
Definicion
s(x) = d(x) − d0 (x)

´ de tabla de s´ındromes para decodificacion
´
Generacion

MMC (UC3M)

Comunicaciones Digitales

´ de Canal
Codificacion

37 / 99

´
Limitaciones de los codigos
bloque
˜ de la tabla de s´ındromes - 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 m´ınima
´
´
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 .

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

con i = 0. · · · . 1. n − 1 MMC (UC3M) Comunicaciones Digitales ´ de Canal Codificacion 40 / 99 . k − 1 Salidas: C(j) [`]. 1. C(1) [`] ´ Notacion: Entradas: B(i) [`]. · · · . con j = 0.

.............. ........................... .. ........ ...... ......................... ......................... ................... - - [`] 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 ................................. ................................. D D ................... ........... .................Representaciones ´ Esquematica [`] iC (0) B(0) [`] - D ....... ............... ............ ..

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)1×n = B(D)1×k · G(D)k×n ˜ k×n 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 .  G(D) = MMC (UC3M) 1+D D Comunicaciones Digitales D D 1 D  2×3 ´ de Canal Codificacion 42 / 99 . 1 + D + D2 + D3 1×2 Otro ejemplo (B): k = 2.

´ 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) [`] - D  2×3 .

............... ...... .. . .. . . . ...... . ... .. C(0) [`] ....................... ... ... .. . .. . . ... ...... ... ....... .... . . .......... ... .. ... .... ..... .. .. ... ... .. .. .... ............ ... . ... ... ......... .... .... ..... ...... . . .... ... . . ........ ... . ...... . ..... . . .... . ...... . . ....... ... ........ . ........ ........ ..... . .... ... ..

C(1) [`] B(1) [`] - D .

C(2) [`] MMC (UC3M) Comunicaciones Digitales ´ de Canal Codificacion 43 / 99 .

j En general las prestaciones aumentan con K MMC (UC3M) Comunicaciones Digitales ´ de Canal Codificacion 44 / 99 .´ ´ Parametros de interes ´ Memoria total del codigo: Mt Numero total de unidades de retardo (memorias) ´ Mt = k−1 X M (i) i=0 ´ Memoria de la entrada i-esima: M (i) = m´ax 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 + m´ax grado(gi.j (D)) i.

........... .............. ............... .......... - ..... ....... .... .............. ....... .´ ´ 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 D .

C(1) [`] MMC (UC3M) Comunicaciones Digitales ´ de Canal Codificacion 45 / 99 .

B(k−1) [l−M (k−1) ]] Etiquetado de la rejilla Bits a la entrada del codificador Bits a la salida del codificador . · · · . B(0) [`−M (0) ]. B(k−1) [`−1].Diagrama de rejilla ´ del estado Definicion Contenido de las memorias del codificador ψ[`] = [B(0) [`−1]. · · · . · · · .

.

B [`]. (0) (1) (k−1) B [`]. · · · B [`] .

.

C(0) [`]. · · · C(n−1) [`] MMC (UC3M) Comunicaciones Digitales ´ de Canal Codificacion 46 / 99 . C(1) [`].

........... ............ ..... ... ...... ...... ...................... . ...... . ...................... ψ1 = [1. ................. .... ....... .......... .. ..... ... ....... . .... ........ ................. ................. ............... ... .... .. ...... .. ......... ................ ....... .............. ......... . . .... ........... ...... .......... ....................... ...... . .................... .. .. ... . .......... ... ............... .........k  C(1)-[`] MMC (UC3M) ψ3 r 0|10 1|00 r 0|11 1|10 r ψ1 0|01 1|11 r ψ0 ψ[n] Comunicaciones Digitales 1|01 r ........ ....... ... .. . .. .............D ? ......... .. ............. ... ............... .... 0]....... ... ............ ........ B(0) [` − 2] Estados: ψ0 = [0.............. ... .. 0]............... ....... .k  B(0) [`] D ψ2 ... .. ..... ..... . .... ........... ... .... ................. ............... ..... ......Convolucional D   Estado: ψ[`] = B(0) [` − 1]... ................... ........ ... ........... .............. ......... ............. .... ........ . .. .. .................................... . ... ........ .... .................................. ............... .. ... ........ . .. .... . .... .. ψ3 = [1... ...... 1] (0) C -[`] .... ..... .... ........ .......... .................... .......... .. ......... ..... ......... r r 0|00 r ψ[n + 1] ´ de Canal Codificacion 47 / 99 . . ... . ..... .............. .... . ...... ....... .. . .... ....... ψ2 = [0........ . .................. . ....... ... ..... ... .... . ............... ....... . .............. ...... . .. .... ...... ...... ...... ................ . ... .............. ......... . ......... . . ..... ... ......... .............. ........ ........Ejemplo ..... ... ............... .... 1]................ .. ........ .. . ..........

.......... ............... ..... ........ .......... ............. ... .... ....... ........ ...... . ..... ......... ............ .......Convolucional E   Estado: ψ[`] = B(0) [` − 1]. ... ...... ..... ..... ....... .. ............ ..... ..... .................. ........... .................. . . ............... ......... ...................D ......... .. 0]... .k  C(1)-[`] MMC (UC3M) ψ2 r 0|11 1|00 r 0|01 1|11 r ψ1 0|10 1|01 r ψ0 ψ[n] Comunicaciones Digitales 1|10 r ................................. ... ......... .............. ....... . ........ .. . . ......... ... ........ ........... . .. ............... ....... .... .. .................... .. .. .......................... .................. ...... .......... ... .......... ....... .. ..... .. ..... ..... . .. ... ........... .. ......... ............ .... .. .... ......... .. ..... ... ..................... ........... ...... ....... .......... . 1]...... B(0) [` − 2] Estados: ψ0 = [0.... .... ........ .. ..... .............................. .. ............ ........ .... .... .. .................................... .... .. ....... .. . . ... ............. .. ...................... ......... ...... ψ2 = [0.... ....... .............. 1] ψ3 (0) C -[`] B(0) [`]- D ........... .... .. .. ... . ................. ....... r r 0|00 r ψ[n + 1] ´ de Canal Codificacion 48 / 99 .... .. ... . .. . . ... ............. .. ..... .... ........... ... ............ ........... ..... .. . ......... ..... ........ . ........ ........ ......... .. ........ . . .... ... .. .... ψ1 = [1............... .............. 0]... ψ3 = [1... ... .. ........ ... ........ .... ..... ..................... .............. .. .Ejemplo ............. ......... . ......... ....... . ...... .. .. ............................... ......... ...............

.... ...... ................. .... ......... ............. . 0|10 ................. 1|10 ..... . . ......... .......... .. . ... ... ... 1|10 . ....... .... ......... . ........... ... .................. 1|00 . ............. ...... .................´ de la rejilla Secuencia de bits ......... . 0|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 . . ........... .... ............... ....... ...... ............ .. .. ......... .......... 0|10 ............. .... ..... . ... . . ............... .. ..... .................. . ............ .. .. ...... . .............. .......... .. .......... .... 1|11....... . ... ........... ..Camino a traves Secuencia de datos: B(0) [`] = [11010] Estado inicial: ψ0 (Se fija con el env´ıo de una cabecera de bits) ψ3 ψ2 ψ1 ψ0 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 s 1|01 s 1|01 ...................... ................. ...... ... .... ............ .. ........................... ..... ..... . ....... . ................... ....... ..... .... .... . .. ..... . ................. .... ... . . .. 0|10 ..... ...... ... .......................................... .. . ..... .... 1|11.......... ... ....... ..... . ..... .......... .. ....... . ........ ... .. 0|11 ....... ........ . ................. ............. .... .... ................... .............. .. . ..... ............ .... .. ....... .................... 1|11................. . .. . .... .... ... ........ ....... ....... ........ ........ .. ................ ..... ...... ......................... ........... ... .. ........... ................. ........ ............. ...... ........ ............. 1|00 ....................... .. ... .. ....... . ........ ........... . ..................... .. .. 1|00 ............. ........ ..... ...... ........... ... ............ .. ...... .......... ............... ............................. ... ... ...... ... . ......... . ............. ................ ....... .......... ....... .. .. .......... .... . . . ............... . ........ ... ............. .. ..... ......... .. .. .... ... ....... .............................. ....... ............... ............. ................... ... ...... ....... . ...... ............ ....... . ... .... . ........ .................. .. ........................ 0|01 0|01 0|01 0|01 0|01 ... ............ .. ....................... ........ ............... ............ ..... ........... ...... ........ .......... .... ...... . . ...... ............. .. .. .... ................ .. 1|00 ......... ..... ...... .. 0|11 ..... ............. ............... .......... ....... .......... ... .. ................ ... ..... ............ .......... .... ......... ...... .... ..... .. ........ 1|11 ............... ...... .... . . ... .. ... ......... 0|11 .. .... .. ....................... ........... .............. ............... . .. ..... ......... ............. ........ .......... .......... ...... ...... .... ..... ............. ... . ...... ....... . . ............. ..... ....... . ..... ........... .... ................. .... .. 1|10 ... ...... . ...... ........................... 0|10 .... ............ ............... ....... . .. . ......... .. .............. .. .. .... ...... .... ........... ... ................ .......... .... .. ............................. ....... .. .... .. .. ..... ...... .... .. ................. ...... . ... .... ......... 1|10 ...... .......... ............. . 1|10 ....... .... 1|00 ...... .............. . .... .. ............. ....... ...................... .... ...... ... ........... . . . .............. ...... ........ ... .... ... ........................... .... .............. .......... . ..................... ......... ........ ... ....... ... .... ....... ........... .. .. ...................... 0|11 ...... ..... ..... .............. ... .... .. .................... ...... .. .................................. ............ . .. . ....... ..... ..... . ....... . ...... .. .... . ... ........ 0|10 . .. .. .... ......... .............. ................... . ........ .. ......... ......................... ... ....... .......... .... ..... ......... ....... ........ .... .. ...................... . ......... .......... ..... ................ . . ...... ........ . ................. .. .. ..... . ...... ...... ..... .... ... ..... ...... .. ............. ..... .. ....... ... ........... ..... 1|11......................................................... ... . ... ... ... ...... ........... ............. ...... ............... ..... ........... . ...

´ .Algoritmo de Viterbi Decodificacion ´ de la secuencia mas ´ veros´ımil 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 s´ımbolos asociados estan ´ distancia eucl´ıdea 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]) s´ımbolos de la constelacion Mejores prestaciones que con salida blanda MMC (UC3M) Comunicaciones Digitales ´ de Canal Codificacion 50 / 99 .

. ......... ......... ...... .... .... .... ........... .. .. ............... . ...... ............. ........ .... ..... ...... . 2 ...... ..... ..... . .............. ......... .......... .. ... ...... ... ..................................... ...... .. ..................... .. .. ....... .. ...... .... .... ......... ........ ... ........... . . .. ... ..... .... ................... ............ ...... ... . . ............ .............. 1 .............. .... ........ ..... .... ....... ................. ...... ........ ....... ....... ......... .... .............. ........ .. ........ ............ ................ ...................... .................. ............. ....... . .. . ..... ... ...... . ..... .. .............. ..... ..... ....... .................... ........ ....... .......... ................ ...... ...... .. ...... . .......... 0 1 1 2 1 ... .. ...... .. ........ .......... ..... ..... ................................ ................. ..... . ..... ... 0|11 ...... .... ........ .................. ... ...... .... ........ ............ . .. ....................... .................. ... ............... ............ ................... ....... ..... ..... ...... ... ... ... .. .. .... ........ ....... ................. . ........... .................. .. ......... ........... ... ... ...... ... ............... ....... .............. . ... ...... ..... . .. .. . ......... .. . ... ................... .......... .............................. ........................... ..Salida dura Secuencia recibida: R[k] = [11 10 10 00 01] ψ3 ψ2 ψ1 ψ0 s s s s s s ψ[n] ψ3 ψ2 ψ1 ψ0 s s s 1|01 .. ... ..... . ........... .. . ..... ......... . .... .. ......... .... ................. ....... ... ......... ... .. .......... ......... ................ ... ...... ... .. . ................. ... .................. 1 . .............. ........... . ....... .. .... 0|01 .............................. ..... .... . ................... ..... . ...... . ............ ... ... ..... ........ ........ ..... ... ............... ........ ....... ....... .... . ... .................. ...... .... ..... . 2 ........... .. . .. ....... ...... .... ........... ... ......... ..... .... .... ..... .... .............. ........... ... .. .......... ... ... . .... ............. ... ....... ......... .. .. ......... ..... .... .................. ............... .................... .. . ......... ....... .. .................. .... ..... .......... . ..... ............ .............. ... .......... .................................. .... ............. .. 0 2 1 1 1 ................ .. .... ......... 1 .... 1 .... . .. ... 0 ... ................ . .......... ...... ................ ................... . ..... ... . .... .... .......... ....... . ..... ............. .... ... ....... . . . ....... .. .... .. ............ ....... . .. ... ..... .. ... . .................... . ......... ...... ... .. ................... ............. .. .... ... ................ 0 0 1 1 2 ....... ...... . ..... ............ ........´ Metricas de rama .. ...... ..... ............ .. ..... ..... .............. ... ... . .. ............ . .... . .. ................... ........ ............ ..... .......... ............ . ................ .... ....... ..... .. . .... .. ...... .................. ......... .. .......... . ...... ....... ..... ...... ...... .......... ...... ........... ............................ ..... .... .......... ... ....... ..... ......... . . .... . .... ............. ... .. ..... ........... ....... ......... .......... .............................. .. .......... .... . . ... ......... ........ .......................... ...... ...... .. .................... ..... . ..... ψ[0] MMC (UC3M) 2 ψ[1] 1 ψ[2] 1 Comunicaciones Digitales ψ[3] 0 ψ[4] 1 ´ de Canal Codificacion ψ[5] 51 / 99 .............. . ............. .. ... 1|11 ..... .. .......... 1|00 ........ ................................... ............... ........... ......... .......... ...... . 1|10...... .. .... . ......... .... .... ..... .. .............. .. ................. ..... .. . ........... .......... ......... ........... . 0 1 2 2 1 .... ................. ............. ...... ... 0 . . .. ............ 1 ..... ........ . . .. ..... ... ........ .. . ... ......................... .. . 0 . . ....... ......... ......... ......................................... . .......... ............... .......... .......................... .......................... .... ........... .... .............. ...... ...... ........ ............ .. ..... .... . ... ............ ............ ............... .... .................. ......... ..................... . .............. ... ......................... ............ .... .......... ............. ............. .... ... ... .... .. .... . ... . .... ........ .. ... ............. .............. .... .... ...... ............... ........ . ... .. ........ .. .. ........ ... ....... ... ...... ............ ........ .... .... . ... . .......... .................................. .......... .. .. ...... ... ... ........ ............... .......... ...... ................................ . . . ... ..... .... . ...... s 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 2 . .............. ..... ....... .. .... . ........... ... .... ... .. ........ .... ... ... .... ... .... ...... ........ ... ............... ... ..... . .... ......... .. .. . ............ .. 0|10 ............... .............

´ 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 .

....... ....... 9.......... ..... .. .... . .. ...... .. ......... .................. ............ . ....... ....... .............. ......... .............22 ...... .................. ......62 4......... ........... .. ..................... .... ... ... ................ ......................... ...........62 4.... .....................02 ..93 .. ............. ..... .............. ........ . 0. ...... .......... .. .... ................ .... ......................... .......................... . ..... ........ .. . ........... ... .......... ...22 Comunicaciones Digitales ψ[3] 0.. ... .... .. .... ..... ..... ............ .................. .. .... .... . ...... .. ................... ....... ..... .... .... ...... . .... ......... ... ... ............. .. . ....................7 Secuencia recibida: q[n] = 1. . . ........ 0|11 ......... ........ ......... ......... .......... 0............ .............. ... .... .... ....... ...... ..............22 ... . .................. ........... . .......... . ... . ..... ........... .... ... .... ............. .. .. .. .................. ........1 1..... ........ .. ................... . . .......... . .... ........ ................... ..... .......... ....45 ............... .... ........... ............ . .... .........05 ...................... .......... ....... ..... ............................ ........ .. ... ................ ... ......... ..................... ................................ ......................... ...... . . ....................... ........................................45 0. ...............05 ψ[4] 4............. ............................................ .............. ......... . 0......... ...... ....... ....... ........... ..25 ...6 −1.....25 .... . . ............ ....... ..... ...... ..... .............. ............ ............. .. ............. ................. . ................ ......... ...... ... .... . .... ............. ...... ..... ....... ... .... ...... ........ ....................... . ..... . 3.. ... ........62 . ....... ......... . ............... ............. ...... ............ . ... ....................... ..... .......... 4..... .... ....... ................ ...... . ........................... .. ... ... .... .... ... .. 8...... ......... . .. 9. .... . ........... .73 .............. .....25 ........ . ............. . ....... ... .. ............. ....... ... .... ... 2... ........ . ........... ........... . ........ ....... ..... ..... ......... .................. .. . .. ....... .............65 5. ........ .....25 ...... . ............. ..... .... ...... ............ ..... . ..9 −0....... 1|00 ........ 2............... ........ . . . .... ...... ......................... .....93 ................62 ... .......... . ..... ................... ...... ............ ....Salida blanda h i h i h i h i h i 1. .. .... ......8 −0............... ......... ...... . 0.. .. ............... ....... .. .... .. . ... ......... ... . . 7.... .... .. .... . ........... .......... . ........................ ......... ......... .. . ............... . . ...... 0|01 ......... ..... ... ......... .... ..... ................. .............. ....13 ..... . .. ............... ...... .. ...42 7.... ... .. ......... ........... .......... .....45 .........2 ψ3 ψ2 ψ1 ψ0 s ψ2 ψ1 ψ0 s s 01 s s s s s −1 s s s ψ[n] ψ3 1|01 ... .................... .... .. 4.. .......................... . ........ ... ....... . ....... 1|11 ... ....... ......... .. .................. . .....1 0. ....... ................ .... ............................... . .... ..... ..... ... ........... .. . .......... .... .......... ..... ........... ........... ... ......... ..... ....... ............ ..... .. 4...................... .... ......... .......... ... ................. ..... .. ...................... ..........05 . ........ ..... ............................. .... ....... . .... . . 0.............. ...... .2 −0..... . ............. . .... .............. ............ .. .............................. ... ................ .. . .... .. ..... ...................... ..... 1|10....... ...... ...... . ... .. ... ................ .............. ........... ψ[0] 8........................ .. ..... ..... .... .......... ........... 4........... .. .......... .......... .......... .......... .....85 . ...65 5..... ...... .. 2.. .. ..... ...... . ... ... ... .............. .... 0|10 ................. . ........ ... ...... ............................ ............... ...... .. .. ................................ .............93 ...................... ... .... .............. ... .. ................ .... ........... ... ..... ......... ...... . .......... .......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.... ............... 3............... . ...... 0.. .... . . ........ ................. ............ .75 −1. ...... ... .. ...... .................... ..... . ... 7.... ........... ....................05 ....85 .....´ Metricas de rama .. ......... ... . ..... .. ........ ............... ........ ..... . ... 0....... ................. .. .. .......... . ... .02 ............ ..... ................... ... ...... ....... ......... ..............02 MMC (UC3M) ψ[1] 4. ........62 .. .. ..... ...... ... ......................45 ψ[2] 3....... ...... ..............1 0.. ..........22 . ... .. 3...................... s 0|00 11 s +1 +1 s −1 00 ψ[n + 1] 10 0. ..................62 . .... .93 ´ de Canal Codificacion ψ[5] 53 / 99 ..................73 .... 3.. .. ... .... . .......... ................ ........ . ..... .. 3.. . ... .. .... .. ...... . ...... . 2..... ...... ................ ..42 7..02 4.. ........

´ Metricas acumuladas en cada estado (Viterbi) ψ3 ψ2 ψ1 ψ0 ψ[1] – – 0.47 10.87/0.29/16.27/8.89 10.89/15.47 11.47 12.34/19.69/11.02 MMC (UC3M) ψ[2] ψ[3] ψ[4] ψ[5] 0.07 7.09 0.07 5.02 8.54/10.14/15.74 10.29/15.69 9.47/14.34 17.49 10.27 10.67 0.47 Comunicaciones Digitales ´ de Canal Codificacion 54 / 99 .54 15.34 13.47/12.54/15.

Prestaciones Salida dura Pe ≈ c ·  n·z  X n·z i=t i · εi · (1 − ε)n·z−i DH min : m´ınima distancia de Hamming entre salidas para secuencias distintas ´ z: longitud del de distancia m´ınima 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 : m´ınima distancia eucl´ıdea entre salidas para secuencias distintas MMC (UC3M) Comunicaciones Digitales ´ de Canal Codificacion 55 / 99 .

. ........ ... .. ...... .. ... .. ... ...................... 4 ... .... . .. . ..... 3 .......... ...... . . ............ ....................... ...... ... ..... .... ......... ... ......... . ...... 2....... .... ....... 0|11 .... ... .......... . .......... 0 . .. .. ............. ... .................. .......... ........ . .................. . 1 ............ ....... ........... .... . ..... ...... ............ ... ..... .............. ........ .... .. ............. ............... ...... ..................... ... ... . 1|10........ ......................Calculo de DHmin ´ con la secuencia de todo ceros Comparacion ψ3 ψ2 ψ1 ψ0 s s s s s s ψ[n] ψ3 ψ2 ψ1 ψ0 MMC (UC3M) s 1|01 ...................... ........... 3 .... ............ ... ... ...... 1 ............ ......... ......................................... 1|00 .... .. 2 . . ... .............. . ..... ....... .... . ..... . . .. ... .. ........... ..... 1 ................. . ... . ............ s 0|00 ψ[n + 1] r r r 3 r r r r DH min = 5 r r r r z=3 r r r r r 1 4 ... ..... ........ .... .. ... Comunicaciones Digitales ´ de Canal Codificacion 56 / 99 . 2 ... .................. ................ .......... . ... . ....... ......... .. .. ........... . ..... .. .......... ................ ... . ....... ..... .................. .. . ............ ........................ 0|10 ....... . ................... ............ ...... ..... . . ........ .......... ........ .............. 1|11 ....... ... . .... ..... 0|01 .. ................. .... ... ....... ... ................... ... ............. .... .. ...... ........ .. .. .... ... ... .... ............. . .................5 .. ... .. .. .. ............ ... ...

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 .

. Convolucional knp ..Definiciones kp . nnp ´ Constelacion n = np + nnp ..´ Codigos de rejilla . nnp bits/s´ımbolo 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 s´ımbolos (n = np + nnp bits/s´ımbolo) Constelacion: MMC (UC3M) Comunicaciones Digitales ´ de Canal Codificacion 59 / 99 . np knp ... .

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 m´ınima Division ´ 2np S´ımbolos por subconstelacion: Numero de subconstelaciones: 2nnp ´ ´ de bits Asignacion ´ de un s´ımbolo dentro de la Transiciones paralelo: seleccion ´ subconstelacion ´ “f´ısica” 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 s´ımbolos Equiprobabilidad en la asignacion MMC (UC3M) Comunicaciones Digitales ´ de Canal Codificacion 60 / 99 .´ ´ de bits Codigos de rejilla .

.. ....... .................... .. .... ... ........................................... .... .... knp = 1................... 1|10............................... .................. ........... ..... .... ........ 0|01 ............... .................... .... ....... ...... .................... . 0|10 .....Ejemplo: kp = 1... nnp = 2................ .. 0|11 . ... . . ...... ........ 1|00 .. .................. . .... ............... ............... ... ... ............................. 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/s´ımbolo ψ1 ψ0 s s 1|01 .... .. ..... ..... .... ... ............... . ... ..................... . ... ......................... . .. . ......... 1|11 .. ..... ................ .. ...... . ......... .... ..... ... .... ..... .. . . . ... .. ......... s s s s s ψ[n] s 0|00 ψ[n + 1] ´ con 3 bits por s´ımbolo: 8 s´ımbolos Constelacion 8-PSK MMC (UC3M) Comunicaciones Digitales ´ de Canal Codificacion 61 / 99 ........ .......... ..................... ...... ...... .................... ...... . ......... .. . ............. ...... .... ... ......

´ de la constelacion ´ Ejemplo: Division s s s s s s B0 c s s c C0 c s C1 c c c c s MMC (UC3M) c c s c C2 c c c s c s s c s c c s c s B1 c s s c c c s C3 s c c s Comunicaciones Digitales c c s c c c c c c s ´ de Canal Codificacion 62 / 99 .

. ................. ........................... .............................. ... ............ .... ............ ........ ... ... .................. ... ..... ........... . . ..... ..... ......... ...... .... ........... ........... ............... ............ .. .................... .. ....... . ....... .. ......... .................. ........ .... .. ......... .... ... . . . .. ................................. . ........ ... .. . .......... ... .. ......................... ........ . ....... .............. ............. .... ............ ......... .......... ............ .......... .... .... .. ............... ..... ........ .............. ............... ............ ... .... .......... ........... ... . .... ... .............. .... .............. .. ...... ........ ........ ... ... ........... ..... ................... ... . .... ... .....´ de las transiciones no paralelo Ejemplo: Asignacion ψ3 ψ2 ψ1 ψ0 x C3 C0 x x x C1 C3 x x C2 C1 x ψ[n] MMC (UC3M) C2 ............ . ... ............... .. . ..... ..... .. ..... .. . ... .... ......... ......... . ........................ ... ..................... .......... ...... .... . .......... x C0 Comunicaciones Digitales ψ[n + 1] ´ de Canal Codificacion 63 / 99 . ....... ........ ....... . .................. ... .. .. ............. ... ....... . . .... . ................... .. . ... ............. ................... ........ .... .. ........... ........................... ........ ..... . ....... . ...... . ..... ...... .. ...... .. .............. ......... ... ....... .. ........ ........... .... .. .................. ....... ... ................ ....... .... .... ............ .......... ....... . .. ....... .... .............. ............... . ......... ....... .. .. ....... .... .. . ............... ........ .. ...... ...... .. .......... .... ... ..

................... ............................ . . ....... ......... ............ ............. .......... . ..................... . ......................... ... . ..................................... .. ... . ...... ........ .......... ....... .................. ................ 0|10 ................ .. .... ................ . ................ ................ .... C0 ......... .. ..... . . ... ........ ............ ....... .......... ........... .. ........ . ......... ............................ ............. ................... ..... . .. .....´ (convolucional D) Asignacion ψ3 ψ2 ψ1 ψ0 s s ψ3 s s ψ2 s s ψ1 s ψ0 1|01 .......... . ....... ......................... ............... ......... .. 1|11 .. ..... .. .................. ...................... ........ ........... C3 ............. ........ .................. 1|00 s s0|10 Comunicaciones Digitales ´ de Canal Codificacion 64 / 99 ............. .... C1 ...... ...... . . ...... ................. . . . ......... ...................... ..... 0|01 .............. ... C1 ..... ..... ........ ... ...... . ...... ... ........ ............. ................. . . .................. ........................ ................. ..................................... . s ψ[n] 0|00 0|11 s s s s ψ[n] s0|00 s C0 ψ[n + 1] s1|01 0|11 s s 0|01 s MMC (UC3M) s s ψ[n + 1] 1|10 s s C2 .. ....... .............. ....... ..................... 1|00 ...... . . ........ ................. ......... ........ . .... ..... ....... ... ............ .. C3 ...... .... . .............. 0|11 ... .. . ....... ... .............. ........ ........ ................. ........................... ........... .......... ..... ...... ... 1|10................... .... .......................................... C2 .......... ..... . .. ....... .............. ............................................ ...........

Prestaciones ´ Distancia m´ınima del codigo .La m´ınima de: Distancia m´ınima paralelo ´ normalizada): dp = 2 Ejemplo anterior (constelacion M´ınima distancia entre puntos de las subconstelaciones Distancia m´ınima no paralelo Distancia del convolucional medida sobre las subconstelaciones Ejemplo anterior q dnp = d2 (C0 . C2 ) + d2 (C0 . C1 ) + 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 .

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 . de elementos del campo: Orden q. el elemento nulo).Campos finitos (Campos de Galois) ´ de campo Definicion Conjunto de elementos sobre el que es posible definir dos ´ excepto por operaciones. y dos elementos distinguidos. elemento unidad (1). suma (resta) y producto (division. que cumplen las siguientes propiedades: Asociativa Conmutativa Distributiva Campo finito Numero finito. elemento nulo (0).

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 . 1.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. · · · .

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 ra´ız (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 ra´ız 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 per´ıodo 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 per´ıodo n = 2m − 1: αn = α0 ← αk = αk %n MMC (UC3M) Comunicaciones Digitales  ´ de Canal Codificacion 71 / 99 .

α. α . 2i. α2 . · · · .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. · · · . αn−1 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 . 22 i. α4 } x3 + x + 1 3 6 5 C3 = {α . α } x3 + x2 + 1 Ra´ıces de xn − 1: α0 (1).´ Polinomios minimales . α2 . 2zi −1 i} z zi : m´ınimo valor que cumple α2 i i = αi Ra´ıces Polinomio minimal 0 x C0 = 1 x+1 C1 = {α.

α6 . α12 = α5 . α2 . α4 . α24 = α3 MMC (UC3M) Comunicaciones Digitales ´ de Canal Codificacion 73 / 99 .´ de los cosets (ejemplo) Formacion Coset C0 C0 = {1}. α8 = α Coset C2 : α2 ya esta´ incluido en C1 Coset C3  C3 = α3 . 12 = 1 Coset C1  C1 = α.

´ de los polinomios binarios Formacion Agrupamiento de ra´ıces 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 .

Chaudhuri y Hocquenghem ´ ´ Codigos versatiles y constructivos Cualquier distancia m´ınima ´ 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 .´ Codigos BCH ´ Acronimo de Bose.

˜ de codigos ´ Teorema BCH (simplificado) .Diseno BCH ´ Un codigo c´ıclico C(k. n) con un polinimio generador g(x) que tiene δ − 1 ra´ıces consecutivas en un campo GF(2m ). con el menor m tal que 2m − 1 sea multiplo de n. es un ´ ´ codigo c´ıclico que garantiza un distancia m´ınima δ dmin ≥ δ ´ ´ de t errores Codigo con capacidad de correccion Distancia m´ınima dmin ≥ 2 · t + 1 Buscar un entero m tal que n = 2m − 1 (o n divisor de 2m − 1) Agrupar dmin − 1 ra´ıces 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 .

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

α2 . α6 ). α5 y α6 Polinomios minimales necesarios p1 (x) (α. α4 ). α3 . p3 (x) (α3 . 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 ´ Caracter´ısticas del codigo k = 63 − 18 = 45 Redundancia r = n − k = 18 (numero de ra´ıces) ´ 6 ra´ıces “utiles” ´ 12 ra´ıces “no utiles” ´ MMC (UC3M) Comunicaciones Digitales ´ de Canal Codificacion 78 / 99 .Polinomio generador para t = 3 errores Distancia m´ınima: dmin = 7 Ra´ıces necesarias: 6 ra´ıces consecutivas α. α2 . α4 .

α53 . α12 . α33 . α55 . α46 . α42 n o C23 = α23 . α60 n o C21 = α21 . α52 n o C15 = α15 . α54 n o C31 = α31 . α2 . α30 . α45 . α41 . α19 . α . α43 . α29 . α39 . α37 . α . α18 . α14 . α32 n o C3 = α3 . α58 n o C27 = α27 . α n o C7 = α7 . α25 . α36 n o C11 = α11 . α6 . α62 MMC (UC3M) −1 ∈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 . α38 . α57 . α4 . α50 n o C13 = α13 . α59 .˜ 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 ra´ıces de x − 1 entre las 2m − 1 ra´ıces de x2 n Cosets Ci tales que i · n 2m −1 Elementos n del coset o C0 = α0 = 1 n o C1 = α1 . α35 . α28 . α22 . α24 . α16 . α61 . α44 . α8 . α47 . α . α48 n o 5 10 17 20 34 40 C5 = α . α . α49 . α56 n o C9 = α9 . α51 . α26 .

Cosets para n Diseno Nuevos cosets Ci0 a partir de Cj m Dividir los exponentes por 2 n−1 Polinomios par las nuevas ra´ıces Elementos del coset  C00 = α0 = 1 C10 = α1 . α13 . α19 . α15 . α11 . α17 . α12 . α16 C30 = α3 . α8 . α4 . α14 C90 = α9 .˜ para n 6= 2m − 1 . α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 . α20 C50 = α5 . α2 . α10 C70 = α7 . α6 .

´ de codigos ´ Decodificacion BCH binarios ´ en tres pasos Decodificacion ´ del s´ındrome Obtencion ´ del polinomio localizador de errores Λ(x) Obtencion Encontrar las ra´ıces de Λ(x) Dos implementaciones algor´ıtmicas 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 s´ındrome Obtencion ´ del codigo: ´ Construccion 2t ra´ıces consecutivas g(αa ) = g(αa+1 ) = · · · = g(αa+2t−1 ) = 0 ´ de la palabra codificada: c(x) = b(x) · g(x) Representacion ´ Para las palabras codigo c(αa ) = c(αa+1 ) = · · · = c(αa+2t−1 ) = 0 ´ polinomica ´ Representacion de la palabra recibida r(x) = r[0] · xn−1 + r[1] · xn−2 + · · · + r[n − 1] · 1 = n X r[i − 1] · xn−i i=1 j S´ındrome j (para la ra´ız α ) sj = r(αj ) = n X r[i − 1] · (αj )n−i = i=1 n X e[i − 1] · (αj )n−i = αbj i=1 Polinomio de s´ındrome s(x) = sa · x + sa+1 · x2 + · · · + sa+2t−1 · 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 s´ındromes 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 s´ındrome s(x) = α7 · x + α14 · x2 + α8 · x3 + α28 · x4 MMC (UC3M) Comunicaciones Digitales ´ de Canal Codificacion 83 / 99 .

. r[n − 1]      b = 2t − 1 ´ Calculo de los s´ındromes de ´ındice par s2·i = (si )2 MMC (UC3M) Comunicaciones Digitales ´ de Canal Codificacion 84 / 99 . .. . ... . αb(n−1) αb(n−2) · · · 1 1 . . .  .´ Calculo de s´ındrome mediante matriz de paridad ´ Calculo de s´ındromes de ´ındice impar  n−1 α αn−2 · · · α  α3(n−1) α3(n−2) · · · α3  s = Hr =  .. αb 1       ·   r[0] r[1] .. ..

´ ´ Calculo del s´ındrome 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 ) S´ındrome 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 .

·iv con (v ≤ t) Polinomio localizador de error Λ(x) = v Y  1 − αij · x = Λv · xv + Λv−1 · xv−1 + · · · Λ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 .Polinomio localizador de error Polinomio cuyas raices identifican las posiciones de los errores Posiciones de los errores: i1 . i2 .

  .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 · · · s2t−1 Λt Λt−1 Λt−2 . . . . .  . .. ....        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 . .         =     Λ1 st+1 st+2 st+3 .. . .

Algoritmo de Berlekamp ´ recursiva al sistema de ecuaciones Solucion st+k = t X Λj · st+k−j j=1 ´ ´ eficiente del polinomio Calculo mas Algoritmo con t iteraciones 1 2 3 4 ´ k = 0. 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 5 k = k + 1. Si k < t volver a 2 MMC (UC3M) Comunicaciones Digitales ´ de Canal Codificacion 88 / 99 . Λ(0) (x) = 1.

Busqueda ´ de las ra´ıces de Λ(x) ´ i-esima ´ Para un error en la posicion Λ(α−i ) = 0 Busqueda de Chien: probar con todas las posiciones i ´ n − 1 → Λ(α−(n−1) ) = 0 → Λ(α) = 0 n − 2 → Λ(α−(n−2) ) = 0 → Λ(α2 ) = 0 n − j → Λ(α−(n−j) ) = 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 s´ımbolos de GF(pm ) k → n s´ımbolos Reed Solomon (m-tuplas de bits) ´ Longitud del codigo n = pm − 1 ´ Son codigos de distancia m´ınima dmin = n − k + 1 ´ Valor maximo posible (l´ımite de Singleton) ˜ del codigo ´ Diseno para corregir t errores ´ del polinomio generador g(x) agrupando 2t ra´ıces Obtencion g(x) = (x − α) · (x − α2 ) · · · (x − α2t ) Coeficientes de g(x) en GF(2m ) (no binarios) S´ımbolos Reed Solomon No hay ra´ıces inutiles: m´ınima redundancia ´ MMC (UC3M) Comunicaciones Digitales ´ de Canal Codificacion 90 / 99 .

´ Codificacion Mensaje a codificar Bloque de k s´ımbolos RS (m-tuplas de bits) ´ polinomica ´ Representacion b(x) Grado k − 1 Coeficientes en GF(2m ) (no binarios) Palabra codificada Bloque de n s´ımbolos 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 .t = 1 error S´ımbolos sobre GF(23 ) (n = 2m − 1. 7) .Codigo RS(5. 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 .

L´ımite de singleton ´ ´ Maxima distancia m´ınima 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 m´ınima 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 s´ındrome Obtencion ´ del polinomio localizador de errores Λ(x) Obtencion Encontrar las ra´ıces de Λ(x) ´ del polinomio de error e(x) Obtencion Implementaciones algor´ıtmicas 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 s´ındrome Obtencion ´ del codigo: ´ Construccion 2t ra´ıces consecutivas g(αa ) = g(αa+1 ) = · · · = g(αa+2t−1 ) = 0 ´ de la palabra codificada: c(x) = b(x) · g(x) Representacion ´ Para las palabras codigo c(αa ) = c(αa+1 ) = · · · = c(αa+2t−1 ) = 0 ´ polinomica ´ Representacion de la palabra recibida r(x) = r[0] · xn−1 + r[1] · xn−2 + · · · + r[n − 1] · 1 = n X r[i − 1] · xn−i i=1 j S´ındrome j (para la ra´ız α ) sj = r(αj ) = n X r[i − 1] · (αj )n−i = i=1 n X e[i − 1] · (αj )n−i = αbj i=1 Polinomio de s´ındrome s(x) = sa · x + sa+1 · x2 + · · · + sa+2t−1 · x2t MMC (UC3M) Comunicaciones Digitales ´ de Canal Codificacion 95 / 99 .

i2 .Polinomio localizador de error Polinomio cuyas raices identifican las posiciones de los errores Posiciones de los errores: i1 . ·iv con (v ≤ t) Polinomio localizador de error Λ(x) = v Y  1 − αij · x = Λv · xv + Λv−1 · xv−1 + · · · Λ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 .

       s2t ei1 ei2 . ..         =     Λ1       ·   st+1 st+2 st+3 . . . . . ..   . . .. .. .... . eiv       =   s1 s2 . . .. . ..      sv ´ de Canal Codificacion 97 / 99 . . v v v v (αi1 ) (αi2 ) (αi3 ) · · · (αiv ) MMC (UC3M) Comunicaciones Digitales Λt Λt−1 Λt−2 . . .  ..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 · · · s2t−1      α i1 α i2 α i3 · · · αiv 2 2 2 2 (αi1 ) (αi2 ) (αi3 ) · · · (αiv ) . . . ..

L(0) = 0 Inicializacion: L X (k−1) k = k + 1 y Z (k) = sk − Λi sk−1 i=1 3 4 5 6 7 8 Si Z (k) = 0.Algoritmo de Berlekamp-Massey ´ ´ eficiente del polinomio localizador Λ(x) Calculo mas Algoritmo con t iteraciones 1 2 ´ k = 0. ir a 7 Λ(k) (x) = Λ(k−1) (x) + Z (k) · [T (k) (x)] Si 2L ≥ k. T (0) (x) = 1. ir a 7 L = k − L y T (k) (x) = Λ(k−1) (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 . Λ(0) (x) = 1.

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 .