TRANSMISIÓN DE DATOS 3º Curso de Ingeniería de Telecomunicación Tema 1: Introducción y Sistemas de Comunicación Digital. 1 Introducción • El objetivo básico de la comunicación es el transporte de la información de un sujeto “A” hacia un sujeto “B”. Y además que sea entendida por ambos. • Por sujeto entendemos casi cualquier cosa, desde humanos hasta máquinas. • Una comunicación digital significa que los símbolos que intercambian los dos sujetos pertenecen a un determinado alfabeto finito. Representación de la información. • La transmisión digital de datos nos permite la utilización de potentes técnicas de procesado digital de la señal, entre ellas la Codificación para el Control de Errores (Error Control Coding, ECC) 2 Introducción • • • Pero para que sirven los códigos de control de errores?. Para ello tenemos que enlazar con lo que hemos visto en la asignatura “Transmisión Digital”. Consideremos el siguiente esquema 3 Introducción • • • • Primer problema, escoger la modulación. Múltiples criterios En muchas ocasiones puede reducirse a un tema de escoger entre la potencia y el ancho de banda disponible. Existe una importante relación entre lo que es la modulación empleada y la codificación. Consideremos la modulación BPSK S0 ( t ) = 2 ⋅ P ⋅ cos ( 2 ⋅ π ⋅ f c ⋅ t ) S1 ( t ) = 2 ⋅ P ⋅ cos ( 2 ⋅ π ⋅ f c ⋅ t + π ) • • El espectro de la señal se encuentra centrado en fc Considerando una tasa de transmisión Rs la energía transmitida por bit es ET = P ⋅ T = P RS 4 Introducción • En comunicaciones móviles ocurre la propagación multitrayectoria defininiendo lo que se denomina Multipath Fading Channel. Existen diferentes modelos que estudian el comportamiento de estos canales −a2 2 • p (a) = a ⋅ e p (a) = a ⋅ e • • ( − a2 + B2 ) Rayleigh 2 ⋅ I ( B ⋅ a) Rice Donde a es un parámetro que modela el pico de desvanecimiento e I es la función de Bessel de orden cero modificada. Además hemos dicho que tenemos una contribución de ruido. – Producido por la temperatura del emisor / receptor – Producido por el ambiente, (motores, zonas industriales, polución) – Producido por otros sistemas de comunicación (ACI). 5 Introducción • En general se considera el tan manido Ruido Aditivo Blanco Gaussiano (Additive Gaussian White Noise, AWGN). Es ruido aditivo puesto que se puede modelar como una señal aleatoria que se añade a la señal demodulada • 1 − n2 p (n) = ⋅e σ ⋅ 2 ⋅π • • 2⋅σ 2 El ruido aditivo gaussiano tiene una densidad espectral constante entre 0 e infinito, por ello, se dice que es blanco. ¿Eso quiere decir que tiene energía infinita? 6 Introducción • • • La señal transmitida es recibida con un valor determinado de ES /No El demodulador recibe la señal y la entrega al destino, pero debido a las circunstancias mencionadas, la información llega con errores. La lógica dicta que la probabilidad de error de la información: – Crecerá con la velocidad de transmisión de la información – Decrecerá si aumenta la potencia de transmisión – Decrecerá si aumenta la relación energía de bit a ruido 1 1 BER ⇒ RS ⇒ ⇒ ( ES N 0 ) P 7 Introducción • Consideremos la señal BPSK de la transparencia 4. El valor de la probabilidad de error, medida como BER tiene la siguiente expresión BERBPSK • • ⎛ 2 ⋅ Eb = Q ⎜⎜ ⎝ N0 ⎞ ⎟⎟ ⎠ 1 Q ( x) = 2 ⋅π ∫ ∞ x e − y2 2 dy Observemos que la creación de señales BPSK precisa una sincronización verdaderamente buena entre las señales, tanto en la desviación de frecuencia como en fase. Si hay señales interferentes esto no es tan fácil de conseguir, con lo que se recurren normalmente a esquemas de tipo FSK donde se consideran frecuencias distintas para cada señal 8 Introducción • Si consideramos este tipo de modulación FSK, disponemos de las siguientes señales: S0 ( t ) = 2 ⋅ P ⋅ cos ( 2 ⋅ π ⋅ f 0 ⋅ t ) S1 ( t ) = 2 ⋅ P ⋅ cos ( 2 ⋅ π ⋅ f1 ⋅ t ) 0≤t ≤T • Convirtiéndose la tasa de error de bit BER en lo siguiente. 1 E BERBFSK = ⋅ e( b 2 • 2⋅ N 0 ) En la siguiente transparencia encontramos el valor de la BER en función de la razón de la energía de bit sobre el ruido para los dos tipos de “BPSK” 9 Introducción • Vale, pero de todas maneras, el tema este de la codificación de canal ¿Para que sirve?Æ Un poco de paciencia 10 Introducción • • • En este punto vemos que el BER condiciona las trasmisiones. En general no debemos superar un determinado umbral de error para, por ejemplo, no escuchar cosas raras en el teléfono. Sin embargo hemos visto que la BER es “proporcional” a la tasa binaria RS, es decir, tiene relación con el Throughput de las aplicaciones. Y por lo que vemos, cada vez utilizamos aplicaciones con mayor throughput (Videoconferencia en UMTS). Existen otros condicionantes en el diseño del sistema: – – – – – Complejidad. Costes Razones de Tamaño y/o peso. Disipación de calor Tolerancia a fallos. 11 Introducción. • • Vamos, que tenemos que andar con mil ojos en el diseño. Sin embargo partiendo del una BER, y una tasa binaria, parece como que fijamos los otros parámetros, -> Potencia -> Disipación de Calor -> Tamaño-> Coste…. Por lo tanto puede ocurrir que si cumplimos unos parámetros de diseño no cumplamos otros. – Ejemplo Satelite – Ejemplo Comunicaciones móviles • Sin embargo dos personas en los años 40’ desarrollaron una serie de teorías que provocaron una revolución en la transmisión de datos mediante la codificación de la información para el control de errores. – Claude E. Shannon: Trabajó desde el punto de vista más teórico, estableciendo los límites para el control ideal de errores. – Richard Wesley Hamming: Trabajó desde un punto de vista más práctico, definiendo como construir y analizar el primer sistema práctico de control de errores 12 Introducción • • • • • • Claude Elwood. Shannon: 1916-2001 Se doctoró en 1940 (Matemáticas). En 1941 entró en AT&T Bell en Nwe Jersey. En 1948 publicó “Mathematical Theory of Communication en Bell System Technical Journal. En este artículo se establece por primera vez la típica descomposición del sistema de comunicaciones que vemos en la transparencia. Fue el primero que hablo de codificar la información (dibujo o voz..) en forma de digitos (1, 9) Primera vez que se nombra el “Bit” 13 Introducción • Uno de los más importantes resultados dicta los siguiente (Teorema de la Codificación de Canal) – If we take increasingly long sequences of source digits and map them into correspondingly long transmission waveforms, the error data delivered can be brought arbitrarely close to zero, as long ass we do not attempt to transmit data at a rate higher than C. Therefore, ata any nonzero level of channel signal to noise ratio S/N, there is some nonzero information transfer rate below whcich arbitrarily accurate communication can, in principle be achieved. S⎞ ⎛ C = W ⋅ log ⎜ 1 + ⎟ ⎝ N⎠ P(E) ≤ 2 − n⋅ Eb ( R ) 14 Introducción • • • Visto de otro modo, este resultado nos permite determinar el número mínimo posible de símbolos necesarios para una transmisión libre de errores. Definimos una transmisión libre de errores a aquella en la que la probabilidad de error se puede hacer tan pequeña como se desee. Si nosotros transmitimos más información de la que necesitamos estamos introduciendo redundancia. Un ejemplo claro de redundancia es la voz y la escritura humana. La redundancia es una característica básica para los códigos, que pueden ser de tres tipos – Códigos de fuente: Su utilidad es borrar la redundancia no necesaria e incontrolada. Reduce los requerimientos de throughput (Morse, Codificadores de Voz, Mpeg, mp3) – Códigos de encriptación: Con el objeto de que solo el emisor y los receptores autorizados puedan acceder a la información (Enigma, Navajos) – Códigos de control de errores (Códigos de Canal): Se utilizan para transmitir información en un canal ruidoso para incrementar su inmunidad. Insertan redundancia de una manera controlada. 15 Introducción • • • • Richard Wesley Hamming, 1915-1998, PhD en 1942 Trabajó durante la segunda guerra mundial en el Proyecto Mahatan (1945) y en Los Alamos. Llego a los laboratorios Bell a finales de la década de 1940, centrándose en una aproximación pragmática de la corrección y corrección de errores .Artículo fundamental “Error Detecting and Error Correcting Codes”, publicado en (Ohh Sorpresa!!!) Bell System Technical Journal en 1950. En ese artículo presenta una serie de códigos que todavía hoy son conocidos como los Códigos de Hamming. (Los veremos más adelante). 16 Introducción • • • • • • Y ahora entramos en por qué es importante el ECC para la transmisión digital de datos. Al introducir mayor información de la necesaria (redundancia) podemos corregir posibles errores de transmisión. La información redundante se denomina tasa de codificación code rate R, k R= ; n Donde k es el número de símbolos de información transmitidos por cada palabra codificada y n la longitud total de la palabra. Si consideramos la velocidad de transmisión de fuente constante RS, tenemos una nueva velocidad de transmisión igual a RS / R. ¿Pero que pasa con la BER?. 17 Introducción • • • • • La potencia de transmisión es constante, por lo tanto paso de tener una energía por símbolo de ES a una energía R*ES (Recordemos que R<1). Por lo tanto BER se incrementa y tenemos más errores, (Genial el tema este de la codificación ). La respuesta es que la redundancia introducida es utilizada para en el control de errores del decodificador para corregir algunos de los errores que se producen en la transmisión, mejorando la fiabilidad completa de la transmisión (Siempre y cuando el código corrector esté bien elegido). La mejora en la BER se suele definir en términos de la cantidad de potencia adicional que se precisaría para conseguir esa BER sin codificación. Se denomina por lo tanto Ganancia de Codificación (Coding Gain). Veamos algunos ejemplos de la ganancia por codificación. 18 Introducción 19 Introducción 20 Introducción • • • • • • El problema del control de errores puede afrontarse desde diferentes puntos de vista o perspectiva Que hacer ¿Detectar o Corregir? Tipos de errores y como se agrupan, ¿Son errores aleatorios, vienen en ráfagas, son errores catastróficos?. Y como realizo la codificación, solo con los datos (información) que tengo actualmente Codigos Bloque, o tengo en cuenta lo que ha ocurrido en el pasado Códigos Convolucionales. Además tengo que tener en cuenta las características de mi modulador, puesto que los errores no les afectan de la misma manera. La salida es digital (Hard) o es analógica (Soft). Y como se rige el decodificador….. Mediante normas algebraicas o utiliza la teoría de la probabilidad (estadístico). 21 Introducción • Analicemos ahora los tipos de protección contra errores posibles. • Detección de Errores • • Objetivo: Evitar que se acepten datos falsos. Si se pierde información !!!mala suerte!!!, si se acepta información errónea !!! Desastre!!!. Posibles soluciones : Funciones de cheksum incluidas dentro del mensaje, que provoca que si se altera la información el checksum no sea válido. • • • Corrección de errores (Forward Error Correction FEC ó Error Correction Codes). • Utiliza la redundancia para estimar desde la palabra recibida, el mensaje que fue enviado en realidad La mejor estimación del mensaje enviado es el mensaje más cercano (Ojo… concepto de distancia). La estimación óptima es el mensaje que es más probable que se haya enviado dado el recibido. Obviamente es más sencillo la detección de errores que la corrección de errores. • • 22 Introducción • • Considerar el trozo del canal de la comunicación del diagrama La tasa de error bruta raw error rate será el porcentaje de símbolos incorrectos en las palabras recibidas. Tener en cuenta que las palabras recibidas deben de tener algún sentido para el receptor 1 n lim ∑ P ( xi ≠ yi ) n →∞ n i =1 23 Introducción • Obviamente estamos asumiendo una salida digital del modulador, puesto que estamos considerando palabras transmitidas de tipo discreto (x1, x2..). • También asumimos que existe la probabilidad de que P(xi≠yi). En caso contrario el canal sería ideal y no necesitaríamos control de errores. • Bajo estas premisas consideramos que el ruido es la diferencia entre las señal transmitida y la señal recibida ni = yi − xi • Por lo tanto nos encontramos con ruido aditivo 24 Introducción • • • • Debemos considerar un efecto adicional, Agrupamiento de ruido Noise Clustering. Estudiemos los diferentes tipos de agrupamiento de ruido. Ruido aleatorio, el ruido afecta de manera independiente a símbolos aislados. Ráfaga, produce errores en secuencias de símbolos, es decir, en símbolos contiguos. + – La fuente de ruido lo produce durante una duración mayor al tiempo de símbolo. – Puede ser producido por el diseño del demodulador, un único fallo se propaga por varios. • Catastróficos: El canal no se puede usar durante un periodo de tiempo, normalmente muy superior al tiempo de símbolo. – En estos casos se precisa retransmisión 25 Introducción • • • • Veamos ahora la complejidad de la decodificación en los tres casos. Consideremos un tasa de error (bruto) de 10-4, quiere decir 100 errores por cada 106 bits En el caso del error aleatorio.(distribuciones i.i.d), se require un código de corrección adecuado como (1000, 960), que tiene 40 bits de control. Redundancia 4% En el caso de error de ráfaga de 10 bits, es decir, cada 105 bits ocurre una ráfaga. Código (2000, 1970). Redundancia 1.5 %. Error catastrófico de longitud mayor que 100. Con un código con ccheksum de 25 bits, (5000, 4975). Se pierde un paquete entre 200. Redundancia 1%. 26 Introducción • • • Tipos de codificadores Sin memoria, Ejemplo : Codificadores Bloque Los datos son divididos en bloques de k dígitos de información (x1….xk) y codificado en una palabra código de n dígitos n > k, añadiendo una redundancia de p= n-k dígitos. • Como se puede ver no hay memoria entre los bloques. Cada bloque se codifica de manera independiente a los demás. Se define codificación sistemática si los dígitos de información aparecen sin cambios en la palabra código. • 27 Introducción • • • • • Con memoria Ejemplo: Códigos Convolucionales (Inicialmente llamados códigos recurrentes) Cada palabra código de n bits depende de la información actual y de los m bloques de información precedentes. El parámetro m es el nivel de memoria . El número de dígitos que el codificador debe considerar es de (m+1)*n definiéndose como longitud de memoria, constraint length En el caso de la figura tenemos un codificador convolucional de tasa ½, m=1, n=2. 28 Introducción • • • • • • • • • • • Aplicaciones del control de errores Sondas Espaciales. Redes de Datos, (Ethernet, FDDI, WAN, WiFi, Bluetooth). Muchas de ellas solo utilizan detección de errores. Los modems V32/V90 utilizan codigos de Trellis. V42 utiliza detección de errores con retransmisión. Sistemas de memoria (Tarjetas SIM con 9 bits de detección de errores). Discos y cintas magnéticas. Sistemas de audio y vídeo de alta calidad como CD’s DATs, minidisk, DVD’s etc. Esquemas de Codificación Más simple: Sin codificación Múltiples niveles de código (Interno-covolucional, Externo – Reed-Solomon). Dependiente del canal ruidoso -> Solución general 29 Introducción • • • • Generalidades Dados p bits de redundancia, podemos conseguir reducir la probabilidad de errores no detectados por debajo de 2-p Con mensajes de longitud n bits se necesitan aproximadamente t*log2 ( n ) bits de redundancia para poder corregir hasta t bit erróneos. En general la relación entre corrección de errores y detección de errores es de 1 a 2. Es decir podemos “cambiar” detectar dos errores en bit por corregir un error en bit. 30 Desde la Entropía a la Capacidad de Canal 31 Desde la Entropía a la Capacidad de Canal 32 Desde la Entropía a la Capacidad de Canal 33 Desde la Entropía a la Capacidad de Canal 34 Desde la Entropía a la Capacidad de Canal 35 Desde la Entropía a la Capacidad de Canal 36 Desde la Entropía a la Capacidad de Canal 37 Desde la Entropía a la Capacidad de Canal 38 Desde la Entropía a la Capacidad de Canal 39 Desde la Entropía a la Capacidad de Canal 40 Desde la Entropía a la Capacidad de Canal 41 Desde la Entropía a la Capacidad de Canal 42 Desde la Entropía a la Capacidad de Canal 43 Desde la Entropía a la Capacidad de Canal 44 Desde la Entropía a la Capacidad de Canal 45 Desde la Entropía a la Capacidad de Canal 46 Desde la Entropía a la Capacidad de Canal 47 Desde la Entropía a la Capacidad de Canal 48 Desde la Entropía a la Capacidad de Canal 49 Desde la Entropía a la Capacidad de Canal 50 Desde la Entropía a la Capacidad de Canal 51 Desde la Entropía a la Capacidad de Canal 52 Desde la Entropía a la Capacidad de Canal 53 Desde la Entropía a la Capacidad de Canal 54 Desde la Entropía a la Capacidad de Canal 55 Desde la Entropía a la Capacidad de Canal 56 Desde la Entropía a la Capacidad de Canal 57 Desde la Entropía a la Capacidad de Canal 58 Desde la Entropía a la Capacidad de Canal 59 Desde la Entropía a la Capacidad de Canal 60 Desde la Entropía a la Capacidad de Canal 61 Diagrama de Eficiencia de Ancho de Banda 62 Ejemplo M-PSK, M-FSK 63