Está en la página 1de 14

Tema-1-rstii.

pdf

Msabido

Redes y Servicios de Telecomunicacion 2

2º Grado en Ingeniería de Sonido e Imagen

Escuela Técnica Superior de Ingeniería de Telecomunicación


Universidad de Málaga

Reservados todos los derechos.


No se permite la explotación económica ni la transformación de esta obra. Queda permitida la impresión en su totalidad.
Tema 1: Códigos para el control de errores
1. Introducción

1.1. Justificación del uso de los códigos de control de error


El canal introduce errores debido a interferencias y ruido.
• Probabilidad de error (BER)
• Ejemplos de BER típicas en comunicaciones: par trenzado: 10-6, fibra óptica: 10-8, canales inalámbricos: 10-3
Existen aplicaciones que toleran más o menos errores.
• Por ejemplo, una transmisión de voz podrá tolerar cierto grado de error
• El envío de órdenes de pago y transferencia electrónicas exigen una transmisión libre de errores.
Objetivos de la comunicación: fiable y eficiente
Objetivo: minimizar el error.
• Proteger la información frente a los errores añadiendo de forma inteligente información redundante y estableciendo
un sistema de control para recuperar la información original.
En los sistemas de comunicaciones, a las técnicas para minimizar la probabilidad de error se les llama codificación de canal
(Técnicas para añadir redundancia).
Sistemas de control de error
› ARQ (Automatic Repeat reQuest): Detectan el error y solicitan una retransmisión al transmisor
o Se dispone de un canal de retorno
o Poco adecuado en redes con mucho retardo de propagación
› FEC (Forward Error Correction): Detectan y corrigen el error
o Adecuado cuando no se dispone de un canal de retorno o no se puedan enviar las solicitudes de retransmisión
o cuando se envíen muchos datos y la retransmisión para corregir pocos errores sea ineficiente.
o Utilizado en comunicaciones vía satélite, sondas espaciales, sistemas de almacenamiento de datos como CDs.

Detección y corrección de errores


Al añadir redundancia, reducimos la velocidad de transmisión.
1- Detectamos errores
2- Corregimos errores: comparamos la palabra recibida con
todas las del código. La que menos distancia tenga (se
parezca más) es la que va a tener más posibilidades de
haber sido recibida

a64b0469ff35958ef4ab887a898bd50bdfbbe91a-4351783

Reservados todos los derechos. No se permite la explotación económica ni la transformación de esta obra. Queda permitida la impresión en su totalidad.
1.2. Modelo de sistema de transmisión de datos
El canal introduce errores debido a interferencias y ruido ▪
• Errores simples: 0 → 1 000 → 010
Se dan en el caso de perturbaciones de la señal muy cortas
Por ejemplo en un canal a 1Mbps, la duración de la perturbación 1μs
• Errores a ráfagas: 2 o más bits se han modificado
En un canal a 1Mbps, una perturbación 10ms afecta 10000bits
Ráfaga de error de longitud L. Conjunto de L bits consecutivos en los que el primero y el último son erróneos.
La distancia entre el último bit de la ráfaga y el primero de la ráfaga siguiente será mayor o igual a L

Reservados todos los derechos. No se permite la explotación económica ni la transformación de esta obra. Queda permitida la impresión en su totalidad.
1.3. Principio de funcionamiento
- Palabra código: agrupación de bits válida (0000; 011010101)
- Código binario C: conjunto de palabras código binarias C1={00,100,1111} C2={001,100,111}
- Código bloque: código que tiene todas las palabras de igual longitud.
o n=longitud de las palabras del código
o |C|=Número de palabras del código
- Consideraciones previas:
o Las palabras emitidas y recibidas tienen el mismo número de bits. No se pierden bits en el canal.
o Las palabras se delimitan correctamente. (Sincronización)
o Los errores son aleatorios e independientes. (Probabilidad)
Detección de errores:
• Siempre se transmite una palabra código
• Si la palabra recibida no pertenece al código
Corrección de errores:
• Si la palabra recibida es ERRONEA, entonces se busca la palabra código más parecida.
• A partir de esa palabra código estimada el decodificador entrega al destino una estimación del mensaje m’.
CÓDIGO DE PARIDAD PAR
No es bueno para estimar. Solo detecta
Se añade un bit al mensaje de manera que el #1s sea par.
errores simples pero no los corrige.
Mensaje (m): 00111
Palabra código (x): 001111 Bit de redundancia 𝑑𝐻 (𝐶) = 2
Palabra recibida (y): 000111 ¿Pertenece al código? El número de unos es impar -> error
Palabra código estimada: ¿? 100111 ó 010111 ó 001111 13 Se ha detectado el error
CÓDIGO DE REPETICIÓN
0→000 1→111 Bloque |C|=2 n=3 Detecta y corrige errores simples (errores de 1 bit) pero
Mensaje (m): 0 solo detecta los errores dobles
Palabra código (x): 000 Bits de redundancia
Palabra recibida (y): 001 ¿Pertenece al código?
Palabra código estimada: 000 El decodificador devuelve la palabra más parecida a la palabra enviada.
Se ha corregido el error
CÓDIGO CON NÚMEROS DE PALABRAS CÓDIGO 2n
Sea un código binario con longitud de palabra código n y con un número de palabras código igual a |C|=2n
Si n = 2 → |C| = 2n = 4 → C = {00,01,10,11} Estamos utilizando todas las posibles combinaciones ¡No es bueno!
Palabra código (x): 01
En este caso el decodificador no ha detectado el
Palabra recibida (y): 00 ERROR Los errores del canal han transformado una
Palabra código estimada: 00 ¿Pertenece al código? palabra código en otra palabra código. Los códigos de
longitud de palabra n que contienen las 2n palabras
código no son capaces de detectar errores

a64b0469ff35958ef4ab887a898bd50bdfbbe91a-4351783

si lees esto me debes un besito


1.4. Efectos de la codificación de canal
Disminución en la velocidad efectiva
Al introducir redundancia hay que enviar más bits al canal para transmitir la misma información.
1
Eficiencia de un código C: ƞ = 𝑙𝑜𝑔2 |𝐶| n=longitud de la palabra código. |C|=número de palabras.
𝑛

La velocidad efectiva se reducirá a R* ƞ


Ejemplo: Código de repetición: 0 -> 000 1->111
|C|= 2 n=3 ƞ = 1/3 La velocidad efectiva se reduciría a 1/3 al utilizar el código de repetición
(Bits efectivos/bits totales)

Reservados todos los derechos. No se permite la explotación económica ni la transformación de esta obra. Queda permitida la impresión en su totalidad.
Disminución en la probabilidad de error
Sea un código de longitud de palabra n y capaz de corregir 1 error por palabra, la probabilidad de error de palabra
decodificada (PER) se calcula como:
𝑃𝐸𝑅 = 𝑃(2, 𝑛) + 𝑃(3, 𝑛) + ⋯ + 𝑃(𝑛, 𝑛)
Donde cada término de la suma es la probabilidad de que en una palabra de longitud n haya j errores:
𝑛
𝑃(𝑗, 𝑛) = ( 𝑗 ) 𝐵𝐸𝑅 𝑗 (1 − 𝐵𝐸𝑅)𝑛 −𝑗

Para un código C(n,k) capaz de corregir e errores, la probabilidad de error codificada por palabra PER:
𝑛

𝑃𝐸𝑅 = ∑ 𝑃(𝑖, 𝑛) ≈ 𝑃(𝑒 + 1, 𝑛) (Solo si n ∗ BER ≤ 0.1)


𝑖=𝑒+1
Probabilidad de error codificada por bit:
(𝑒 + 1)
𝐵𝐸𝑅𝑐𝑜𝑑𝑖𝑓𝑖𝑐𝑎𝑑𝑎 = · 𝑃𝐸𝑅
𝑛

1.5. Clasificación de los códigos


Códigos bloque C(n,k) |C|=2𝑘
- Todas las palabras código de la misma longitud
o n=longitud de la palabra código
o k=longitud del mensaje
o Codificadores sin memoria
o Responden a la idea de un código que añade n-k
bits de redundancia a un mensaje de longitud k.

a64b0469ff35958ef4ab887a898bd50bdfbbe91a-4351783

si lees esto me debes un besito


Códigos convolucionales C(n,k,M)
- Codificador con memoria (máquina de estados)
- Flujo de entrada continuo

2. Códigos bloque

2.1. Propiedades de los códigos bloque binarios


Códigos bloque C(n,k) es un código en el que todas las palabras código son de la misma longitud
n=longitud de la palabra código k=longitud del mensaje

Reservados todos los derechos. No se permite la explotación económica ni la transformación de esta obra. Queda permitida la impresión en su totalidad.
|C|=2𝑘 η=k/n
Distancia de Hamming = #de bits en que difieren dos palabras 𝑑𝐻 (10111,11100)=3
El criterio de decodificación que se aplica es el de máxima probabilidad: La palabra transmitida con mayor probabilidad es la
palabra código con menor distancia de Hamming respecto a la recibida

2.2. Distancia de un código bloque


Distancia mínima de un código = La menor de todas las distancias de Hamming calculada entre todas las palabras de un código
tomadas de dos en dos.
Distancia del código de repetición (3,1): 𝑑𝐻 (C)=3
Distancia del código C = {000,011,101,110}: 𝑑𝐻 (C)=2

2.3. Capacidad detectora/correctora error


Capacidad detectora de un código
Un código de distancia d detecta todos los patrones de error con peso menor o igual a d-1
Si la distancia es 𝑑𝐻 = M, el número de errores que se detectan llega hasta M-1
Ejemplo: Código de repetición con 𝑑𝐻 =7 C={0000000, 1111111}
Palabra enviada (x) Patrón de error (e) Palabra recibida (y=x+e)
1111111 0010010 1101101 Error detectado
1111111 1111110 0000001 Error detectado
1111111 1111111 0000000 No detectado
Detecta hasta 6 errores!!
Ejemplo: Código C= {000,011,101,110} 𝑑𝐻 (C)=2
Palabra enviada (x) Patrón de error (e) Palabra recibida (y=x+e)
011 001 010 Error detectado
011 101 110 No detectado
Detecta errores de peso 1
Capacidad correctora de error de un código
Un código de distancia d corrige todos los patrones de error con peso de hasta (d-1) /2
Si la distancia es 𝑑𝐻 =M, el número de errores que se corrige llega hasta (M-1) /2
Ejemplo: Código de repetición con 𝑑𝐻 =7 C= {0000000, 1111111}
Palabra enviada (x) Patrón de error (e) Palabra recibida (y=x+e) Palabra corregida(x’)
1111111 0010110 1101001 1111111 CORREGIDO
1111111 1111110 0000001 ERROR
Corrige hasta 3 errores!!
Ejemplo: Código C= {000,011,101,110} 𝑑𝐻 (C)=2
Palabra enviada (x) Patrón de error (e) Palabra recibida (y=x+e) Palabra corregida(x’)
011 001 010 ¿?
011 101 110 ERROR
No corrige errores!!

a64b0469ff35958ef4ab887a898bd50bdfbbe91a-4351783

si lees esto me debes un besito


3. Códigos lineales
Código binario lineal es un código bloque que cumple con la propiedad de linealidad:

Un código es lineal si v + w es palabra código de C si v y w pertenecen a C.


Los símbolos binarios 1 y 0 con las operaciones suma y producto forman un Cuerpo 𝐹2
0+0=0 1+1=0 1+0=1 0+1=1 0x0=0 1x1=1 1x0=0 0x1=0
Las palabras de longitud n forman un espacio de vectores en 𝐹2𝑛 con estas operaciones:

Un subconjunto C del espacio de vectores 𝐹2𝑛 es un subespacio si cualquier x, y ϵ C cumple x + y ϵ C.


Un código lineal binario es un subespacio C del espacio de vectores 𝐹2𝑛
El subconjunto C = {000, 111} de 𝐹23 es un código lineal
PROPIEDADES:
- Un código lineal siempre contiene la palabra 00000…0
- La suma de dos palabras código es siempre palabra código
- Distancia mínima del código lineal = al peso mínimo de la palabra código
- Un código lineal C(n,k) queda definido por una matriz Generadora (𝐺𝑘𝑥𝑛 ) de k filas por n columnas
- La matriz Generadora define una función de codificación 𝐹2𝑘 -> 𝐹2𝑛
- Una matriz G es generadora de un código lineal C si y solo si las filas de G son linealmente independientes
- Las filas de G forman una base del código lineal

3.1. Codificación
Ejemplo de codificación de un código (6,5) Ejemplo de codificación del código de paridad par (6,5)

CÓDIGOS SISTEMÁTICOS
Código sistemático es un código lineal tal que su matriz generadora tiene la forma G = [𝐼𝑘 |𝑃]
Una matriz generadora estándar es este tipo G = [𝐼𝑘 |𝑃]

a64b0469ff35958ef4ab887a898bd50bdfbbe91a-4351783

Reservados todos los derechos. No se permite la explotación económica ni la transformación de esta obra. Queda permitida la impresión en su totalidad.
3.2. Decodificación
En decodificación se emplea la matriz de chequeo de paridad o matriz H.
La matriz H tiene r=n-k filas por n columnas. 𝐻(𝑛−𝑘)𝑥𝑛
Si la matriz G es de forma estándar, G = [𝐼𝑘 |𝑃 ] , la matriz H se calcula de esta forma:

Proceso de decodificación:

Reservados todos los derechos. No se permite la explotación económica ni la transformación de esta obra. Queda permitida la impresión en su totalidad.
Ejemplo 1: Cálculo de la matriz H para el código de paridad par (7,4)

Ejemplo 2: Cálculo de la matriz H para el código de paridad par (6,5)

Ejemplo 3: Cálculo de la matriz H para el código (6,5)

Esta matriz no está en forma estándar. No podemos utilizar estas ecuaciones para hallar H.
Para intentar tener una matriz en forma estándar, podemos realizar operaciones lineales con las filas de G (sumar filas o cambiar
el orden de las filas) y obtendremos una matriz que genera el mismo código C(n,k)
En este caso, simplemente sumando las filas, 1+3->1 y 2+4->4, obtenemos la matriz G en forma estándar.
Ahora si que podemos aplicar la fórmula para hallar H.
Ejemplo 4: Cálculo de la matriz H para el código (5,2)

Esta matriz no está en forma estándar. No podemos utilizar estas ecuaciones para hallar H.
Para calcular la matriz H, habrá que transformar el código original C en un código lineal sistemático C’ a partir de la
transformación de la matriz G => G’ (G’ tiene forma estándar)
Aplicar las ecuaciones a G’ para obtener una matriz H´
Por último, volver a transformar el cambio de H’ para obtener el código original y así obtener H.

a64b0469ff35958ef4ab887a898bd50bdfbbe91a-4351783

si lees esto me debes un besito


DISTANCIA DE UN CÓDIGO LINEAL
Sea H una matriz de control de un código lineal C. Entonces la distancia mínima de C es el menor entero positivo i para el que
existen i columnas de H linealmente dependientes.
Entonces (c1 ...cn) es palabra código si y solo si c*HT=0;
Ejemplo: Cuál es la distancia de un código lineal (7,4) con

Hay que buscar el número mínimo de columnas que sumadas den 0. En este caso 3. Por ejemplo, h4+h5+h6 => Distancia 3

Reservados todos los derechos. No se permite la explotación económica ni la transformación de esta obra. Queda permitida la impresión en su totalidad.
Ejemplo: Cuál es la distancia de un código lineal (6,5) con

Hay que buscar el número mínimo de columnas que sumadas den 0. En este caso 2. Por ejemplo, h1+h2 => Distancia 2
DESIGUALDAD DE SINGLETON
Si se quiere diseñar un código lineal de distancia de Hamming d, ¿Cuántos bits de redundancia habrá que añadir?
Desigualdad de Singleton. Cota superior de distancia mínima para cualquier código lineal (n,k)
𝑑 ≤ (𝑛 − 𝑘) + 1
Ejemplos:
Un código lineal C(7,4) tendrá como distancia de Hamming máxima 4
𝑑 ≤ (3 + 1); 𝑑 ≤ 4
Si se quiere diseñar un código lineal de distancia 9, será necesario como mínimo añadir 8 bits (n-k como mínimo
debe ser 8)
9 ≤ 𝑛 − 𝑘 + 1 => 𝑛 − 𝑘 = 8
3.3. Código de paridad
CÓDIGO DE PARIDAD PAR

Más utilizado para detectar errores de bit con transmisión asíncrona


Codificación: Se agrega un bit adicional (el de paridad) al mensaje C(k+1, k)
- Paridad par: el #1s par (código bloque lineal)
Decodificación: Al recibir cada carácter, el decodificador calcula el bit de paridad, y lo compara con el bit de paridad
recibido
- Si son diferentes => ERROR
Características del código:
- Distancia de Hamming=2
- Detecta 1 error
- No corrige errores
CÓDIGO DE PARIDAD IMPAR
El código de paridad impar no es lineal, sin embargo se utiliza en la transmisión de datos por su facilidad de
implementación.
Codificación:
- Paridad impar: el #1s impar
Ejemplo de la no linealidad del código de paridad impar:
1011 → 10110
0100 → 01000
-------------------- Suma
1111 → 11111 (distinto de c1+c2)
Decodificación: Al recibir cada carácter, el decodificador calcula el bit de paridad, y lo compara con el bit de paridad
recibido
Si son diferentes => ERROR

a64b0469ff35958ef4ab887a898bd50bdfbbe91a-4351783

si lees esto me debes un besito


3.4. Código checksum
Se utilizan para transmisión de bloques de caracteres
Varios protocolos de Internet (TCP, IP) lo utilizan
Consisten en sumar las filas de caracteres y añadirla como una fila al bloque de caracteres
Se utiliza aritmética complemento a 1

Reservados todos los derechos. No se permite la explotación económica ni la transformación de esta obra. Queda permitida la impresión en su totalidad.
Otra manera de realizar la suma:
000010=2; El primer bit indica el signo; Si 0=>positivo;
1011011=-36; Si 1=>Negativo, se busca el complemento
100100=26+22=-36

3.5. Ventajas
1. El proceso de codificación es más rápido y requiere menos espacio de almacenamiento
2. El proceso de decodificación más simple y rápido
Ejemplos de códigos lineales:
- Códigos Hamming: Se utilizan para la detección de errores en la memoria RAM de los ordenadores (códigos
SECDED "single error correction, double error detection")
- Códigos de Golay
o Comunicaciones digitales: Sondas espaciales
- Códigos Reed-Muller: Se utilizan para detección de errores en sistemas de almacenamiento como CDs, DVD
y discos duros

4. Códigos cíclicos
Un código lineal C(n,k) es cíclico si cualquier rotación de una palabra código es también palabra código
Ejemplo: C= {000, 110, 101, 011}
Se representan mediante polinomios C= {0, x2+x, x2+1, x+1}
Un código cíclico queda definido completamente por su polinomio generador g(x)
g(x) es un polinomio de grado n-k y tiene término independiente.
Cualquier palabra código se puede escribir como: c(x) = g(x) · m(x)
El polinomio generador de un código C es el polinomio de menor grado
Ejemplo: C= {0, x2+x, x2+1, x+1} → g(x)=x+1

a64b0469ff35958ef4ab887a898bd50bdfbbe91a-4351783

si lees esto me debes un besito


4.1. Codificación

Codificar el siguiente mensaje m(x)= 𝑥 3 +𝑥 2 utilizando el siguiente polinomio generador g(x)= 𝑥 3 +x+1
a) m(x)*𝑥 𝑛−𝑘 =m(x)* 𝑥 3 = 𝑥 6 +𝑥 5 (1100 000)
b) Dividir 𝑥 6 +𝑥 5 entre g(x); el resto es x (010)
c) c(x)= 𝑥 6 +𝑥 5 +x (1100 010)
4.2. Decodificación

Procedimiento para la decodificación:


Procedimiento: Dividir y(x) entre g(x)
Si resto 0 => y(x) palabra código
Si resto ≠0 => ERROR
▪ Decodificar la palabra recibida c(x)= 𝑥 6 + 𝑥 5 + x
a) Dividir c(x) entre g(x); el resto es 0
b) Si no hay error el mensaje serán los k primeros bits m(x)= 𝑥 3 + 𝑥 2

4.3. Ejemplo de códigos cíclicos


Códigos BCH
Generalmente se utiliza para la detección de errores
Utilizado en comunicaciones vía satélite, en códigos de barra bidimensionales y en sistemas de almacenamiento
como CD, DVD y discos duros
H.261 Codificador de video
Códigos Reed-Solomon subclase de los códigos BCH
Se utilizan en sistemas de almacenamiento CD, comunicaciones vía satelite (Digital Video Broadcasting), sondas
espaciales

4.4. CRC (Cyclic Reduncancy Check)


Verificación de redundancia cíclica

Los códigos CRC son códigos cíclicos que se utilizan para detectar errores
Capaces de detectar muchas combinaciones de error
Fáciles de implementar para cod/dec
Códigos muy utilizados para las comunicaciones de redes cableadas
Algunos códigos CRC estándar:
CRC-16 g(x)= 𝑥 16 +𝑥 15 +𝑥 2 +x+1 n-k=16
16 12 5
CRC-16 g(x)= 𝑥 +𝑥 +𝑥 +1
CRC-32 g(x)= 𝑥 32+𝑥 26 +𝑥 23 +𝑥 22 +𝑥 16 +𝑥 12 +𝑥 11 +𝑥 10 +𝑥 8 +𝑥 7 +𝑥 5 +𝑥 4 +𝑥 2 +x+1 (n-k=32; utilizado en redes LAN)
Ejemplo de la capacidad detectora
En general los CRC son capaces de detectar todos los errores simples, dobles e impares y las ráfagas de longitud
menor o igual a n-k. Además, detectan algunas ráfagas de error de longitud n-k+1 o mayor.
Por ejemplo:

a64b0469ff35958ef4ab887a898bd50bdfbbe91a-4351783

Reservados todos los derechos. No se permite la explotación económica ni la transformación de esta obra. Queda permitida la impresión en su totalidad.
Detecta todos los errores simples
Detecta todos los errores impares.
Detecta todos los errores dobles.
Detecta todas las ráfagas de error de longitud menor o igual que 32
Detecta algunas ráfagas de error de longitud 33
Detecta algunas ráfagas de error de longitud mayor que 33
Justificación de la capacidad detectora de CRC
r(x)=c(x)+e(x)=g(x)q(x)+e(x) donde g(x) es el polinomio generador

Reservados todos los derechos. No se permite la explotación económica ni la transformación de esta obra. Queda permitida la impresión en su totalidad.
Longitud del código para que
podemos detectar errores dobles
Se debe diseñar g(x) para que se capaz de detectar ciertos errores:

Para la detección de ráfagas, se debe diseñar g(x):


Ráfaga de error: e(x)=𝑥 𝑖 * d(x) donde el grado de d(x) =L-1 (L=longitud de la ráfaga)
g(x) grado n-k y longitud n-k+1
g(x) no puede dividir a d(x) si el grado de g(x) > grado d(x).
Entonces:
› Si L=(n-k) o menos => grado g(x) > grado d(x)=> Se detectan todas las ráfagas
› Si L=(n-k+1) => grado g(x) = grado d(x) =>
o No se detecta si d(x)=g(x)
o Si d(x) ≠g(x) se detecta
› Si L>(n-k+1) => grado g(x) < grado d(x) =>
o No se detectan si d(x)=a(x)g(x)
Ejemplo:

Detecta todos los errores simples => 𝑥 𝑖 mod(g(x)≠0


Detecta todos los errores impares => g(1)=0
Detecta todos los errores dobles => g(x)=(x+1)*p(x) donde p(x) primitivo
Detecta todas las ráfagas de error de longitud menor o igual que 32 => grado d(x) menor grado g(x)
Detecta algunas ráfagas de error de longitud 33 => excepto el caso de que d(x)=g(x)
Detecta algunas ráfagas de error de longitud mayor que 33 => excepto el caso de que d(x) sea múltiplo de g(x)

a64b0469ff35958ef4ab887a898bd50bdfbbe91a-4351783

si lees esto me debes un besito


4.5. Implementación HardWare
Codificador

Términos del polinomio generador g(x)

Reservados todos los derechos. No se permite la explotación económica ni la transformación de esta obra. Queda permitida la impresión en su totalidad.
El circuito queda determinado en función de n-k (número de registros de desplazamiento de 1 bits) y del polinomio
generador (conexiones verticales).
Bits de entrada: 1010001101 00000
El circuito debe calcular los n-k bits de redundancia que se añaden al mensaje
Se necesitan 15 ticks de reloj.

5 bits de
redundancia

Decodificador Resto
Circuito decodificador de un C(n,k):

Donde gi son los coeficientes del polinomio generador


r(x) es la palabra recibida
El circuito es un divisor entre r(x) y g(x), es decir, calcula el resto (el síndrome).
Si la r(x) es correcta, el síndrome debe ser 0.
- Los registros de desplazamiento 𝑆0 , 𝑆1 , …, 𝑆𝑛−𝑘−1 deben ser igual a 0, después de n ticks, para que la palabra
recibida sea correcta.
- La puerta se abre después de n ticks.

a64b0469ff35958ef4ab887a898bd50bdfbbe91a-4351783

si lees esto me debes un besito


5. Entrelazado

5.1. Efectos de la ráfaga de error


Supongamos que a un canal con ráfagas de error enviamos 5 palabras de longitud n=5

Si queremos corregir errores, ¿cúal sería la distancia mínima necesaria del código?

Reservados todos los derechos. No se permite la explotación económica ni la transformación de esta obra. Queda permitida la impresión en su totalidad.
Se necesita un código con capacidad de correción 4 errores por palabra.
Para corregir 4 errores=> dmin=9
El número de bits de redundancia que hay que añadir a cada mensaje tendría que ser de 8 o más bits (desigualdad
de singleton)

5.2. Técnicas de entrelazado


Supongamos que aplicamos el entrelazado al ejemplo anterior.
En el tx se construye una matriz (entrelazador). En rx se construye una matriz (desentrelazador)

6. Códigos para las redes de telecomunicación


Generalmente en los sistemas de telecomunicación se utiliza un sistema de control de errores ARQ
- Detectan el error
- Algoritmo de control para la retransmisión
Los códigos que se utilizan en las redes LAN es el código de verificación de redundancia cíclica (CRC)
En Internet, los protocolos como TCP, UDP e IP utilizan el Checksum
Los códigos convolucionales se utilizan en las comunicaciones móviles
En la RTB no se utilizan códigos de control de error para enviar la voz

6.1. Codificación de canal en GSM

Código de bloque:

• Cada bloque de 260 bits (20ms de voz) se clasifica en dos clases diferentes:
o 182 clase 1 (bits protegidos)
o 78 de clase 2 (bits no protegidos)
• Estos bits se reordenan en orden decreciente de importancia y se pasan al codificador de bloque.
• Los primeros 50 bits de clase 1 se protegen a través de 3 bits de paridad con un código cíclico (53,50).
• Los bits de información y paridad de clase 1 se reordenan y se añaden 4 bits de cola iguales a 0. El resultado
es 189 bits: 182 info + 3 paridad + 4 de cola.
• Estos 189 + 78 van al código convolucional de ratio 1/2 y resultan 2*189+78=456 bits (22,8 kbps)

a64b0469ff35958ef4ab887a898bd50bdfbbe91a-4351783

si lees esto me debes un besito

También podría gustarte