Elementos de Teoría de la Información Clase 29-Junio-2011 1 Recordemos …. que es “Ruido “ …. 2 Perturbaciones en la transmisión La señal recibida puede diferir de la señal transmitida Analógico - degradación de la calidad de la señal Digital – Errores de bits Causado por Atenuación y distorsión de atenuación Distorsión de retardo Ruido 3 Atenuación La intensidad de la señal disminuye con la distancia Depende del medio La intensidad de la señal recibida: Debe ser suficiente para que se detecte Debe ser suficientemente mayor que el ruido para que se reciba sin error Crece con la frecuencia Ecualización: amplificar más las frecuencias más altas Problema “menos grave” para las señales digitales 4 Distorsión de retardo Sólo en medios guiados La velocidad de propagación en el medio varía con la frecuencia Para una señal limitada en banda, la velocidad es mayor cerca de la frecuencia central Las componentes de frecuencia llegan al receptor en distintos instantes de tiempo, originando desplazamientos de fase entre las distintas frecuencias 5 Ruido (1) Señales adicionales insertadas entre el transmisor y el receptor Térmico Debido a la agitación térmica de los electrones Aumenta linealmente con la temperatura absoluta (N0= kT) Uniformemente distribuido en la frecuencia Ruido blanco (NBW= kTB) Intermodulación Señales que son la suma y la diferencia de frecuencias originales y sus múltiplos (mf1± nf2) Se produce por falta de linealidad 6 Ruido (2) Diafonía Una señal de una línea se mete en otra Impulsivo Impulsos irregulares o picos Ej: Interferencia electromagnética externa (tormenta) Corta duración Gran amplitud 7 Efecto del ruido en señal digital 8 Conceptos relacionados con la capacidad del canal Velocidad de datos En bits por segundo Velocidad a la cual se pueden transmitir los datos Ancho de Banda En ciclos por segundo (hertz) Limitado por el transmisor y el medio Ruido, nivel medio a través del camino de transmisión Tasa de errores, cambiar 0 por 1 y viceversa (BER, Bit Erro Rate) 9 Ancho de Banda de Nyquist (ancho de banda teórico máximo) Para 2 niveles SIN RUIDO Velocidad binaria C (bps ) 2 B( Hz) Para M niveles SIN RUIDO Velocidad binaria C (bps ) 2 B( Hz ) log 2 M (niveles ) 1 Baudio = 1 estado señalización/sg 1 Baudio = 1 bps si M=2 La relación entre la velocidad de transmisión C y la velocidad de modulación V es: C (bps ) V (baudios)·log 2 M Nyquist, H., “Certain Factors Affecting Telegraph Speed,” Bell System Technical Journal, April 1924, p. 324; “Certain Topics in Telegraph Transmission Theory,” A.I.E.E. Trans., v. 47, April 1928, p. 617. 10 Capacidad de Shannon (1) Para un cierto nivel de ruido, a mayor velocidad, menor período de un bit, mayor tasa de error (se pueden corromper 2 bits en el tiempo en que antes se corrompía 1 bit) Relación Señal / Ruido (Signal Noise Ratio, SNR) en dB SNRdB Potencia _ Señal 10 log( SNR) 10 log Potencia _ Ruido Restricción: no se puede aumentar M cuanto se quiera porque debe cumplirse: M 1 SNR 11 Capacidad de Shannon (2) En principio, si se aumenta el ancho de banda B y la potencia de señal S, aumenta la velocidad binaria C. Pero: Un aumento del ancho de banda B aumenta el ruido Un aumento de potencia de señal S aumenta las no linealidades y el ruido de intermodulación Por tanto, la velocidad binaria teórica máxima será: C (bps ) V ·log 2 M => Cmáx (bps ) 2·B·log 2 M B·log 2 M 2 B( Hz )·log 2 (1 SNR) 12 Ley de Shannon (1948) La cantidad de símbolos (o bits/baudio) que pueden utilizarse dependen de la calidad del canal, es decir de su relación señal/ruido. La Ley de Shannon expresa el caudal máximo en bits/s de un canal analógico en función de su ancho de banda y la relación señal/ruido : Capacidad = BW * log2 (1 + S/R) donde: BW = Ancho de Banda S/R = Relación señal/ruido 13 Ejemplo Canal entre 3 MHz y 4 MHz Relación señal ruido = 24 dB, SNR=102,4=251 Calcular ancho de banda Respuesta: B = 1 MHz Calcular la velocidad binaria teórica máxima y el número de niveles Respuesta: SNR = 251 Respuesta: C = 8 Mbps Respuesta: M = 16 niveles 14 Relación Eb/N0 (1) Eb: energía de señal por bit (Eb=S·Tb=S/R) siendo S potencia señal, Tb tiempo de un bit, R bits/sg N0: densidad de potencia de ruido por Hz Se demuestra fácilmente que: O bien Eb N0 Eb N0 S dBW S/R N0 10 log R S kTR 10 log T 228,6 dB 15 Relación Eb/N0 (2) siendo k la constante de Boltzmann, cuyo valor es k 1,3803·10 23 J /º K y siendo T la temperatura absoluta en grados Kelvin Ejemplo: Para obtener una relación Eb/N0 = 8,4 dB a una temperatura ambiente de 17 ºC (290 ºK) y una velocidad de transmisión de 2.400 bps, ¿qué potencia de señal recibida se necesita? Respuesta: S dBW 161,8 16 Teoría de la Información y Codificación 17 Teoría de la Información Claude Shannon estableció la Teoría de la Información Clásica Dos Teoremas Fundacionales: 1. Noiseless source coding 2. Noisy channel coding C. E. Shannon, Bell System Technical Journal, vol. 27, pp. 379-423 and 623-656, July and October, 1948. Reprinted with corrections from The Bell System Technical Journal, 18 Teoría de Shannon Uno de ellos describe la máxima eficiencia posible de un método de corrección de errores ( codificación ) frente a los niveles de ruido y de corrupción de los datos. No dice nada sobre como implementar dicha codificación . En definitiva brinda el limite para la TX de bits (basándose en la Ley de los Grandes Números ) 19 Shannon , paper Bell Labs (1948) February 8, 2010 Harvard QR48 20 20 C. E. Shannon, Bell System Technical Journal, vol. 27, pp. 379-423 and 623-656, July and October, 1948 A method is developed for representing any communication system geometrically. Messages and the corresponding signals are points in two “function spaces,” and the modulation process is a mapping of one space into the other. Using this representation, a number of results in communication theory are deduced concerning expansion and compression of bandwidth and the threshold effect. Formulas are found for the maximum rate of transmission of binary digits over a system when the signal is perturbed by various types of noise. Some of the properties of “ideal” systems which transmit at this maximum rate are discussed. The equivalent number of binary digits per second for certain information sources is calculated. 21 C. E. Shannon (January 1949). "Communication in the presence of noise" Proc. Institute of Radio Engineers vol. 37 (1): 10–21. THE recent development of various methods of modulation such as PCM and PPM which exchange bandwidth for signal-to-noise ratio has intensified the interest in a general theory of communication. A basis for such a theory is contained in the important papers of Nyquist and Hartley on this subject. In the present paper we will extend the theory to include a number of new factors, in particular the effect of noise in the channel, and the savings possible due to the statistical structure of the original message and due to the nature of the final destination of the information. The fundamental problem of communication is that of reproducing at one point either exactly or approximately a message selected at another point. Frequently the messages have meaning; that is they refer to or are correlated according to some system with certain physical or conceptual entities. These semantic aspects of communication are irrelevant to the engineering problem. The significant aspect is that the actual message is one selected from a set of possible messages. The system must be designed to operate for each possible selection, not just the one which will actually be chosen since this is unknown at the time of design. If the number of messages in the set is finite then this number or any monotonic function of this number can be regarded as a measure of the information produced when one message is chosen from the set, all choices being equally likely. As was pointed out by Hartley the most natural choice is the logarithmic function. Although this definition must be generalized considerably when we consider the influence of the statistics of the message and when we have a continuous range of messages, we will in all cases use an essentially logarithmic measure. 22 Modelo de un Sistema de Comunicaciones 23 “If the rate of Information is less than the Channel capacity then there exists a coding technique such that the information can be transmitted over it with very small probability of error despite the presence of noise.” 24 Información 25 Definición : unidades 26 1 Bit 27 Fuente de memoria nula 28 Memoria nula (cont) 29 Entropía 30 Entropía (cont) La entropía de un mensaje X, que se representa por H(X), es el valor medio ponderado de la cantidad de información de los diversos estados del mensaje. H(X) = p(x) log2 p(x) Es una medida de la incertidumbre media acerca de una variable aleatoria y el número de bits de información. El concepto de incertidumbre en H puede aceptarse. Es evidente que la función entropía representa una medida de la incertidumbre, no obstante se suele considerar la entropía como la información media suministrada por cada símbolo de la fuente 31 Entropía: Fuente Binaria 32 Propiedades de la entropía a) La entropía es no negativa y se anula si y sólo si un estado de la variable es igual a 1 y el resto 0 . b) La entropía es máxima, mayor incertidumbre del mensaje, cuando todos los valores posibles de la variable X son equiprobables (empíricamente fácil). Si hay n estados equiprobables, entonces pi = 1/n. Luego: H(X) = i pi log2 pi = - n(1/n) log2 (1/n) = - (log2 1 - log2 n) H(X)máx = log2 n 33 Entropía condicional Si existe una segunda variable Y que influya sobre X, esto nos entregará importante información adicional. La entropía se reduce: hay más orden y menos incertidumbre incertidumbre. H(X/Y) = x,y p(x,y) log2 p(x,y) Donde p(x,y) = p(y)p(x/y) y la relación p(x/y) es la probabilidad de que se obtenga un estado X conocido el valor de Y. Luego: H(X/Y) = - y p(y) x p(x/y) log2 p(x/y) 34 Ejemplo Sea X = {x1, x2, x3, x4} con p(xi) = 0.25 Sea ahora Y = {y1, y2, y3} con p(y1) = 0.5; p(y2) = 0.25; p(y3) = 0.25 Luego H(X) = 4 log2 4 = 2.0 y H(Y) = 2 log2 4 + log2 2 = 1.5 Además hay las siguientes dependencias entre X e Y: Si Y = y1 X = x1 o x2 o x3 o x4 (cualquiera con igual probabilidad) Si Y = y2 X = x2 o x3 (cualquiera con igual probabilidad) Si Y = y3 X = x3 o x4 (cualquiera con igual probabilidad) Como H(X/Y) = - y=3 p(y) y=1 x=4 p(x/y) log2 p(x/y) x=1 H(X/Y) = - p(y1)[p(x1/y1)log2p(x1/y1) + p(x2/y1)log2p(x2/y1) + p(x3/y1)log2p(x3/y1) + p(x4/y1)log2p(x4/y1)] - p(y2)[p(x1/y2)log2p(x1/y2) + p(x2/y2)log2p(x2/y2) + p(x3/y2)log2p(x3/y2) + p(x4/y2)log2p(x4/y2)] - p(y3)[p(x1/y3)log2p(x1/y3) + p(x2/y3)log2p(x2/y3) + p(x3/y3)log2p(x3/y3) + p(x4/y3)log2p(x4/y3)] Calculando, se obtiene H(X/Y) = 1.0 + 0.25 + 0.25 = 1.5. La entropía de X ha bajado en medio bit con el conocimiento de su relación con Y. 35 Extensión de una Fuente de Memoria Nula 36 Fuente de Markov 37 Fuente de Markov (cont) 38 Codificación de Fuente Establecer una correspondencia entre los símbolos de una fuente y los símbolos del alfabeto de un código. Proceso encaminado a lograr una representación más eficiente de la información ( eliminar redundancia)*. 39 Condiciones del código • singular • separable (Únicamente decodificable) • instantáneo 40 singulares instantáneo* No singular a b c m1 --- 01 m1 --- 0 m1 --- 0 m1 --- 0 m2 --- 01 m2 --- 01 m2 --- 01 m2 --- 10 m3 --- 10 m3 --- 001 m3 --- 011 m3 --- 110 no separable d separables 41 Condición de los prefijos La condición necesaria y suficiente para que un código sea instantáneo es que sus palabras cumplan la condición de los prefijos: No exista palabra que sea prefijo de otra palabra de longitud mayor 42 No Singulares Códigos Singulares No separables Separables No instantáneos Instantáneos 43 Códigos eficientes Estrategia Asignar palabras más cortas a Estrategia: símbolos más probables l i longitud de la palabra codificada del mensaje m i r : # de símbolos del alfabeto del código L= pi l i : Longitud promedio de la palabra* 44 Relación entre L y H !!! L log r H(s) log r : Cantidad promedio máxima de información de un símbolo del código. Eficiencia del código : S) / (L log r) 45 46 47 Codificador óptimo Nos falta encontrar el segundo término pendiente en la definición de cantidad de información: codificador óptimo. Introduciendo el signo negativo dentro del logaritmo en la expresión de la entropía, ésta nos quedará como: H(X) = i p(x) log2 [1/p(x)] Veamos un ejemplo de codificación La expresión log2 [1/p(x)] representa el número necesario de bits para codificar el mensaje X en un codificador óptimo. Codificador óptimo es aquel que para codificar un mensaje X usa el menor número posible de bits. 48 Codificación de Huffman Mensaje: MI MAMA ME MIMA Letra Frecuencia E 1 vez I 2 veces A 3 veces ““ 3 veces M 6 veces Ocurrencias 3 I 6 E 9 A ““ I Código óptimo: M=1 15 E Creación del árbol de frecuencias observadas “ ” = 01 A = 000 M A ““ I E A I I = 0010 E E = 0011 Mensaje: 1 0010 01 1 000 1 000 01 1 0011 01 1 0010 1 000 (33 bits) Pregunta: ¿Con cuántos bits se codificaría si se usara ASCII? Saque conclusiones. 49 Compresión de las señales Consiste en la reducción del volumen de información tratable (procesar, transmitir o grabar). En principio, con la compresión se pretende transportar la misma información, pero empleando la menor cantidad de espacio. Ocupación espectral de 30 Mbits / seg a 40 Mbits / seg, para poder sr utilizado por una transmisión: via satélite de 27 Mhz a 36 Mhz canal de cable de 6 Mhz a 8 Mhz El espacio que ocupa una información codificada (datos, señal digital, etc.) sin compresión es el cociente entre la frecuencia de muestreo y la resolución. • Por tanto, cuantos más bits se empleen mayor será el tamaño del archivo. • 50 Técnicas de Compresión Coding Type Entropy Encoding Basis Technique Run-length Coding Huffman Coding Arithmetic Coding Prediction Transformation Source Coding DPCM DM FFT DCT Bit Position Layered Coding Subsampling Sub-band Coding Vector Quantization JPEG Hybrid Coding MPEG H.263 Many Proprietary Systems 51 Compresión de las señales Proceso Se buscan repeticiones en la serie de datos. Se almacena solo el dato junto al número de veces que se repite. Ejemplo: Si en un archivo aparece una secuencia como "AAAAAA", ocupando 6 bytes, se podría almacenar simplemente "6A" que ocupa solo 2 52 bytes. Compresión de las señales Algoritmos de compresión Huffman: Examina los caracteres más repetidos, luego los codifica en una forma mas corta. LZW: Construye un diccionario con los patrones encontrados, a los cuales se hace referencia posteriormente. 53 Lectura Opcional Compresión DCT JPEG 54 Compresión de las señales Conceptos Redundancia: Datos que son repetitivos o previsibles. Entropía: Diferencia entre la cantidad total de datos de un mensaje y su redundancia. Irrelevante: Información que no podemos apreciar y cuya eliminación no afecta al contenido del mensaje. Básica: Información relevante. No es redundante ni irrelevante. Debe ser transmitida en su totalidad para que se pueda reconstruir la señal. 55 Compresión de las señales Tipos Sin pérdidas reales: La transmisión es equivalente a la entropía del mensaje ( toda la información básica e irrelevante, pero eliminando la redundante ). Subjetivamente sin pérdidas: Se elimina la información redundante y la irrelevante. Subjetivamente con pérdidas: Se elimina cierta cantidad de información básica, por lo que el mensaje se reconstruirá con errores perceptibles pero tolerables. 56 Tipos de codificación de las señales R L C ( Run Length Coding ) Uso: Cuando la información contiene series largas de elementos idénticos. Codificación: El elemento y su Nro. de repeticiones. Reversibilidad: Total, no se pierde información. Aplicación: Informática. Archivos Zip, Arc, etc. 57 Tipos de codificación de las señales V L C ( Variable Length Coding ) Base de uso: La probabilidad de que todos los elementos componentes de una información no tendrán la misma codificación. Codificación: Menos bits los elementos de aparición frecuente. Más bits los elementos mas raros. Inconveniente: Conocer previamente la serie de elementos que hay que transmitir, esto es totalmente incompatible con el “ Tiempo Real ”. 58 DCT (Discrete Cosine Transform) Es un caso particular de la transformada de Fourier , aplicada a las señales discretas ( muestreos ). Transformada de Fourier: Cualquier señal periódica puede ser representada por una serie de sumas trigonométricas en senos y cosenos relacionadas armónicamente. Imagen: Trabajar a partir de una señal muestreada bidimensional. Analizar en horizontal y vertical Armar un bloque de N x N pixels con los valores discretos de luminancia (o crominancia). Transformar el bloque anterior en otro de N x N coeficientes, que corresponderán a la amplitud de cada una de las funciones cosenos armónicos. 59 DCT (Discrete Cosine Transform Proceso Imagen dividida en bloques La imagen se divide en bloques de 8 x 8 pixels. En el bloque transformado, los coeficientes de las frecuencias horizontales van de izquierda a derecha sobre el eje horizontal y los de las frecuencias horizontales, crecientes de arriba a abajo sobre le eje vertical 576 pixels - bloques 720 pxels – 90 bloques Bloque 60 DCT (Discrete Cosine Transform) Proceso Bloque de 8 x 8 pixels. Los valores representan la intensidad luminosa de un píxel 61 DCT (Discrete Cosine Transform) Proceso A los coeficientes se les resta 128 para que queden números entorno al 0, entre -128 y 127. 62 DCT (Discrete Cosine Transform) Proceso La DCT transforma el contenido del bloque en una matriz de 8 x 8 coeficientes. El primero (arriba a la izquierda, coordenadas 0, 0) indica la componente continua (DC) que representa la intensidad media del bloque. El último ( abajo a la derecha ), da la componente de frecuencia espacial mas elevada para los dos ejes. 63 DCT (Discrete Cosine Transform) Representación en forma visual de la contribución de cada uno de los coeficientes al aspecto del bloque de 8 x 8 pixels originales. 64 DCT (Discrete Cosine Transform) Consideraciones finales Los coeficientes dependen del Nro. de detalles contenidos en el bloque. Normalmente la energía del bloque se concentra en unos pocos coeficientes en el ángulo superior izquierdo. Los coeficientes son independientes unos de otros. Los coeficientes tienen menor precisión cuando la frecuencia aumenta. 65 Cuantificación Características del ojo humano Detecta pequeños cambios de brillo en áreas grandes. No detecta rápidos cambios de brillo en áreas pequeñas, variaciones de alta frecuencia. 66 Cuantificación Lo anterior nos permite eliminar las altas frecuencias, sin perder excesiva calidad visual. Esto se observa en los coeficientes correspondientes tendiendo a 0 (cero). Este proceso es en el que se pierde la mayor parte de la información (y calidad) cuando una imagen es procesada por este proceso. 67 Cuantificación Ejemplo de una matriz de cuantificación típica 68 Cuantificación La matriz cuantificada se obtiene dividiendo cada coeficiente de la matriz de la imagen transformada con cada coeficiente de la matriz de cuantificación. 69 Compresión de imágenes fijas JPEG Joint Photographic Experts Group Se basa en una norma de compresión de imágenes fotográficas de resolución variable, en forma Y, Cb, Cr. Puede realizarse con o sin pérdida (reversible), según la finalidad y la tasa de compresión. En los usos mas habituales se toleran ciertas pérdidas lo que permite alcanzar índices de compresión superiores a 10 sin una degradación apreciable. 70 JPEG La compresión se descompone en 6 etapas 1.- Descomposición en bloques. 2.- Transformación mediante DCT. 3.- Discriminación por umbral y cuantificación. 4.- Lectura en zigzag. 5.- Codificación RLC. 6.- Codificación entrópica de Huffman ( VLC ). 71 JPEG 1.- Descomposición en bloques La imagen original de forma Y,Cb,Cr, se divide en bloques elementales de 8 x 8 pixels. Imagen en formato CCIR 601 de 720 x 576 pixels, hay 6.480 bloques de luminancia. 3.240 bloques para cada una de las crominancias. Digitalización de 8 bits cada bloque forma una matriz de 64 números de 0 a 255 para la luminancia de – 128 a + 128 para las crominancias 72 JPEG 2.- Transformación mediante DCT Genera por cada bloque Y,Cb,Cr una matriz de 8 x 8 pixels, con los coeficientes de las componentes de frecuencias espaciales. 73 JPEG 3.- Discriminación por umbral y cuantificación Se tiene en cuenta las particularidades de la visión humana. El ojo no distingue los detalles finos por debajo de cierto nivel de luminancia ( Y ). Como consecuencia se ponen en 0 ( cero ) los coeficientes inferiores a un valor predeterminado. Los coeficientes restantes se codifican con una precisión decreciente a medida que la frecuencia aumenta. 74 JPEG 4.- Lectura en zigzag Con la excepción del primer coeficiente ( CC luminancia ), los 63 restantes ( coeficientes de CA, crominancia ) se leen en zigzag para transformar la matriz en una corriente de datos en serie, para ser utilizada en las otras etapas. 75 JPEG 5.- Codificación RLC Se codifica el número de ocurrencias de los coeficientes. Se tiene máxima atención a los nulos y al próximo no nulo. 76 JPEG 6.- Codificación entrópica de Huffman (VLC) Esta última etapa consiste en codificar los coeficientes con una longitud tanto mas corta cuanto mas frecuentes sean estadísticamente. 77