Huffman Ejemplos

16
Codificación de Fuente y de Canal Codificación de Fuente y de Canal PRÁCTICA 7 PRÁCTICA 7 ( 2 sesiones) Laboratorio de Señales y Comunicaciones 3 er curso, Ingeniería Técnica de Telecomunicación Javier Ramos López, Fernando Díaz de María, Fernando Pérez Cruz y David Luengo García

description

jbbhjhb

Transcript of Huffman Ejemplos

  • Codificacin de Fuente y de CanalCodificacin de Fuente y de Canal

    PRCTICA 7PRCTICA 7 ( 2 sesiones)

    Laboratorio de Seales y Comunicaciones 3er curso, Ingeniera Tcnica de Telecomunicacin

    Javier Ramos Lpez, Fernando Daz de Mara, Fernando Prez Cruz y David Luengo Garca

  • 1. Objetivos

    Los objetivos principales de esta prctica son los siguientes:

    Estudiar la cantidad de informacin media generada por una fuente discreta o por una fuente continua cuantificada mediante el concepto de entropa.

    Construir cdigos de fuente capaces de proporcionar una tasa de salida cercana a la entropa de la fuente: cdigos de Huffman.

    Construir cdigos de canal capaces de proporcionar una cierta proteccin frente a errores: cdigos de Hamming.

    2. Contenido Terico

    A continuacin se va a realizar una breve descripcin de los elementos que van a ser necesarios para la realizacin de esta primera prctica: la codificacin de fuente (cdigos de Huffman), y la codificacin de canal (cdigos de Hamming). Esta descripcin no va a sustituir la informacin recibida en las asignaturas de Teora de la Comunicacin y Comunicaciones Digitales, y se deber acudir a las referencias bibliogrficas de estas asignaturas para comprender todos los aspectos tericos que se van a tratar en estas prcticas.

    2.1. Codificacin de Fuente

    La salida que se tiene del codificador est en muchos casos correlada, y algunos bits o cadenas de bits son mucho ms probables que otros. Esto provoca que se transmitan ms bits de los que son estrictamente necesarios para enviar la informacin deseada entre el transmisor y el receptor. La cantidad de informacin por smbolo generada por una fuente viene medida por su entropa. Suponiendo que una fuente discreta es capaz de generar un total de M valores distintos, cada uno de ellos con probabilidad pi, su entropa se define como:

    !=

    "=M

    i

    ii ppH1

    2log .

    La entropa proporciona el lmite inferior del nmero de bits por muestra necesarios para transmitir la informacin de la fuente sin prdidas, y es la tasa de salida hacia la que debe tender un buen codificador de fuente. Cuando la tasa de transmisin es mucho mayor que la entropa de la fuente, entonces es posible que algunas de las propiedades

  • de las modulaciones (por ejemplo su anchura espectral) no sean idnticas a los valores tericos, lo que puede dar lugar a interferencias con otros sistemas de comunicaciones. La codificacin de fuente se encarga de eliminar dicha correlacin de tal forma que los bits que aparecen a su salida estn incorrelados, y todas las cadenas de cualquier longitud son igualmente probables, obtenindose un espectro similar al terico y una cadena de bits a transmitir lo ms corta posible.

    Una de las formas ms habituales de realizar la codificacin de fuente es la codificacin de Huffman, en la que a cada smbolo o cadena de bits de idntica longitud se le asigna otra cadena de bits de longitud variable. Cuanto mayor sea la probabilidad de aparicin de un smbolo (o cadena de bits) menor ser la longitud de la cadena asignada, de tal forma que la longitud media de las cadenas resultantes sea menor que la de las cadenas de bits originales. La ventaja de este tipo de codificadores es que se pueden ilustrar de manera sencilla mediante un ejemplo.

    Ejemplo:

    Supongamos que se dispone de una fuente continua que discretizamos empleando un cuantificador uniforme con 8 niveles. A continuacin codificamos sus salidas, asignn-dole a cada muestra de entrada un smbolo compuesto por tres bits. Las probabilidades de cada uno de estos smbolos son: P(000) =0.2, P(001) =0.01, P(010) =0.4, P(011) =0.04, P(100) =0.1, P(101) =0.02, P(110) =0.07 y P(111) =0.16. En consecuencia, la entropa de esta fuente es

    38.2log1

    2 =!= "=

    M

    i

    ii ppH ,

    que es significativamente inferior a los 3 bits por muestra que estamos empleando si tomamos directamente la salida del codificador. La codificacin de Huffman le va asignar a cada cadena de 3 bits una cadena de longitud variable que minimice el nmero de bits medio por smbolo. Por supuesto, dichas cadenas de bits deben ser unvocamente decodificables. Para asignar estas cadenas se ordenan los smbolos de acuerdo con sus probabilidades: desde el ms probable hasta el menos probable. A continuacin, se juntan los dos smbolos menos probables, dando lugar a un nuevo smbolo cuya probabilidad es la suma de ambos, y se vuelven a ordenar. Esta operacin (parte hacia delante del algoritmo) se repite hasta que se hayan sumado todas las probabilidades, generndose un rbol de smbolos. En la Figura 1 se muestran las probabilidades ordenadas en cada iteracin del algoritmo para este ejemplo.

  • Figura 1: Suma de probabilidades para construir el cdigo de Huffman del ejemplo.

    Una vez que el rbol est completamente construido (es decir, en el momento en que todos los smbolos se han juntado en uno solo con probabilidad 1), se recorre el rbol de derecha a izquierda (parte hacia atrs del algoritmo), asociando con cada bifurcacin (esto es, donde se han sumado 2 probabilidades) un 0 y un 1 en cada una de sus ramas (se puede hacer de manera arbitraria). En la Figura 2 se muestra dicha asignacin, donde siempre se ha situado el 0 en la rama superior.

    Figura 2: Asignacin de bits a cada bifurcacin del rbol del ejemplo.

    Por ltimo, se leen los bits de derecha a izquierda hasta llegar al smbolo original, y dicha cadena de bits es la que se le asigna a cada smbolo de entrada. En la Figura 3 se muestra la cadena de longitud variable asignada a cada cadena de tres bits, pudindose

  • apreciar que los smbolos ms probables tienen asociadas cadenas ms cortas, y los menos probables cadenas asignadas ms largas. Este ejemplo es constructivo en el sentido de que cualquier cdigo de Huffman se puede obtener de la misma manera. Adems, se puede demostrar que para una asignacin no fraccionaria de bits por smbolo dicho cdigo es ptimo. Es decir, se trata del que ms se acerca al lmite terico dado por la entropa de la fuente.

    Figura 3: Asignacin de cdigos realizada por el codificador de Huffman.

    La calidad de un cdigo de fuente se puede medir por diversos parmetros, de los que en esta prctica nicamente consideraremos dos: la tasa de compresin y la eficiencia. La longitud media de un cdigo se define como la longitud en promedio de una palabra del mismo:

    !=

    =M

    i

    iinpL1

    ,

    donde ni es el nmero de bits usados para codificar el smbolo i-simo. Ahora, la tasa de compresin de un cdigo de Huffman se define como la relacin de compresin lograda frente a un cdigo de longitud fija utilizado para codificar dicha fuente:

    ! "L

    M2log=# .

    Una segunda medida de rendimiento es la eficiencia del cdigo, que mide lo cercana que se encuentra su longitud media del lmite terico dado por la entropa:

    ( )L

    XH=! .

  • Para un cdigo de Huffman se cumple que 1!" , y 1))(1/()( !!+ "XHXH . Como

    ejemplo, el cdigo del apartado anterior es un buen cdigo, ya que su longitud media es 2.44 (recurdese que su entropa era 2.38), lo que implica una tasa de compresin de 1.23 y una eficiencia del 97.54 % (el lmite anterior nos indica que para esta fuente la eficiencia de un cdigo de Huffman debe ser superior al 70.41 %).

    Por ltimo, aunque los cdigos de Huffman sean ptimos para asignaciones no fraccio-narias de bits, su rendimiento (longitud media del cdigo) puede encontrarse muy lejos de la entropa de la fuente. Esto sucede por ejemplo cuando se dispone de una fuente con probabilidades muy dispares pero muy pocos smbolos para realizar asignaciones de cdigos de longitud variable (por ejemplo, una fuente binaria cuyos smbolos tengan probabilidades 0.9 y 0.1). En estos casos, el rendimiento se puede mejorar realizando una extensin del cdigo. La manera ms sencilla de hacerlo consiste en suponer que los smbolos consecutivos son independientes, tomar bloques de k smbolos en lugar de tomarlos de uno en uno, y disear un cdigo de Huffman para los Mk smbolos resultantes. Se puede demostrar que mejora el rendimiento del cdigo (esto es, que disminuye su longitud media) conforme aumenta el valor de k, tendiendo su longitud media hacia el valor de la entropa (lmite terico) cuando k tiende a infinito. Obviamente, el inconveniente de realizar una extensin del cdigo estriba en que aumenta su complejidad conforme se van utilizando valores mayores de k.

    2.2. Codificacin de canal

    El codificador de canal introduce redundancia controlada de tal forma que si se produce algn error en el canal de comunicaciones se pueda detectar y/o corregir. Hay distintos sistemas de proteccin contra errores: cdigos bloque, cdigos convolucionales, cdigos de rejilla (trellis), etc. En esta prctica nos vamos a centrar en los ms sencillos: los cdigos bloque lineales. Estos cdigos toman los bits de la entrada de k en k, y los transforman en n bits de salida (es decir, aaden r=n-k bits de redundancia). Para llevar a cabo esta transformacin se multiplica un vector fila de k bits por una matriz de kn

    elementos binarios, y se realiza la operacin de mdulo 2 sobre el vector salida de n elementos. Los bits de redundancia son los que van a permitir detectar y corregir los errores que se produzcan en el canal de comunicaciones. En la Figura 4 se muestra de forma esquemtica y algebraica el funcionamiento del codificador.

    Figura 4: Modelo esquemtico y algebraico del codificador de canal.

  • Es posible detectar la existencia de un error en el canal de comunicaciones con estos cdigos gracias a que a la salida del codificador se tiene un espacio vectorial de dimensin n (con 2n posibles vectores por lo tanto), dentro del cual nicamente existen 2k vectores vlidos. En consecuencia, 2n 2k vectores no se pueden dar a no ser que se haya producido al menos un error en el canal de comunicaciones. Para corregir este error (o errores) se procede calculando la distancia Hamming (es decir, el nmero de bits que son diferentes) entre el vector recibido en el decodificador de canal y los 2k vectores vlidos del cdigo, y decidiendo que se ha transmitido aquel cuya distancia de Hamming con el recibido es menor.

    Para realizar el proceso de deteccin se suele emplear una matriz de rn elementos que

    transforma el vector recibido en un cadena de r bits, el sndrome, que identifica unvocamente cada uno de los errores que se han podido producir en el canal de comunicaciones (hasta un cierto nmero mximo de errores, que depende de la capacidad correctora del cdigo bloque, y que est relacionado con la mnima distancia de Hamming entre dos palabras cdigo). Una vez identificados los bits en que se han producido los errores, puesto que la seal es binaria, se pueden modificar simplemente dichas posiciones para obtener los bits supuestamente transmitidos. En la Figura 5 se muestra de forma esquemtica y algebraica el funcionamiento del decodificador.

    Figura 5: Modelo esquemtico y algebraico del decodificador de canal.

    La forma de medir la calidad de estos sistemas de proteccin contra errores no es nica, aunque habitualmente se basan en lo que se conoce como ganancia de codificacin. La ganancia de codificacin se define como el aumento en la energa media por bit que hay que introducir en la modulacin posterior sin codificacin de canal para obtener la misma probabilidad de error que se obtiene con esta codificacin. El problema para medir esta ganancia radica en cmo se debe calcular la probabilidad de error cuando se introduce el codificador de canal: manteniendo la tasa de transmisin o aumentndola.

  • En el primer caso el tiempo de bit en la modulacin posterior no vara (es decir, se mantiene la tasa binaria), de modo que la introduccin del cdigo bloque va a suponer una gran ganancia sobre el sistema sin codificar: la probabilidad de error de bit (BER) del modulador sin codificar no cambia, y el cdigo bloque va a ser capaz de corregir algunos errores. Sin embargo, en este caso estaremos transmitiendo a una tasa k/n veces menor que en el sistema original, puesto que por cada n bits que transmitimos nicamente k son de informacin (los restantes son bits de redundancia). En consecuencia, esta comparacin puede parecer injusta.

    La segunda posibilidad consiste en mantener la amplitud de la modulacin constante y disminuir el tiempo de bit multiplicndolo por k/n (es decir, se aumenta la tasa binaria), de tal forma que la tasa a la que se envan los bits de informacin permanece inalterada. En este caso, al haber reducido la energa por bit, la probabilidad de error del modulador sin codificar va aumentar, y el cdigo tendr que compensar adems este aumento en la tasa de error sobre el sistema original. Esta medida (que puede parecer ms justa) a igualdad de potencia transmitida por bit de mensaje y de tasa de bits por segundo, presenta el inconveniente de aumentar el ancho de banda ocupado. Este efecto provoca que la comparacin sea nuevamente injusta, y en muchas aplicaciones limita su utilidad porque el ancho de banda disponible puede ser fijo en algunas aplicaciones. El uso de ambas medidas est ampliamente aceptado, siempre y cuando se especifique claramente cual se est empleando.

    2.3. Canal de comunicaciones

    En este ltimo bloque lo nico que se va a hacer es sumar ruido Gaussiano y blanco (AWGN) a la seal de salida del transmisor. En esta prctica nos vamos a centrar en un canal genrico que nicamente aade ruido a la seal transmitida. El canal va a estar caracterizado por una densidad espectral de potencia No/2, aunque de momento vamos a trabajar simplemente con un canal discreto equivalente. Este canal es un artefacto matemtico (no existe en la realidad) que sustituyes los bloques del modulador, canal y demodulador por un canal (discreto equivalente) que lo nico que hace es cambiar de valor algunos bits a la salida del codificador de canal con una cierta probabilidad de error prefijada. En la Figura 6 se muestra su funcionamiento de forma esquemtica. El canal discreto equivalente es muy empleado cuando se quiere disear un sistema genrico que no dependa del canal de comunicaciones empleado, dejando su complejidad al diseo del modulador/demodulador. Adems permite trabajar siempre con bits (smbolos) en lugar de con seales.

  • Figura 6: Modelo de Canal Discreto Equivalente.

  • 3. Cuestionario previo

    3.1. Calcule la entropa de las siguientes fuentes discretas:

    a) Fuente binaria con probabilidades 0.9 y 0.1.

    b) Fuente con tres smbolos cuyas probabilidades son 0.73, 0.25 y 0.02.

    c) Fuente que puede emitir 6 smbolos con probabilidades 0.4, 0.2, 0.1, 0.1, 0.1 y 0.1.

    3.2. Obtenga un cdigo de Huffman para cada una de las fuentes de la cuestin 3.1. Compruebe si se trata de buenos cdigos o no, calculando en cada caso su tasa de compresin y su eficiencia.

    3.3. Calcule las probabilidades de los smbolos resultantes de realizar una extensin del cdigo para la primera fuente de la cuestin 3.1 con k = 2 y k = 3. Halle la entropa por conjunto de k smbolos y por smbolo en cada caso. Qu conclu-siones obtiene respecto al comportamiento de la entropa con k?

    3.4. Obtenga un cdigo de Huffman para los cdigos extendidos de la cuestin 3.3, y compruebe que mejora el rendimiento del cdigo calculando su tasa de compre-sin y su eficiencia en cada caso.

    3.5. Se dispone de una fuente continua que se cuantifica usando un cuantificador del tipo mid-riser con rango dinmico entre -1 y 1. Calcule la entropa de la fuente discreta resultante (en funcin del nmero de niveles del cuantificador) en los casos siguientes:

    a) La amplitud de la fuente analgica sigue una FDP uniforme entre -1 y 1.

    b) La amplitud de la fuente analgica sigue una FDP Gaussiana con media cero y varianza 2.

    3.6. Desarrolle sobre el papel las funciones entropia, extension y encod, de los ejercicios 4.1, 4.5 y 5.1 respectivamente.

    3.7. Rellene las tablas de los ejercicios 5.1 y 5.5 en las que se relaciona el sndrome obtenido con cada uno de los posibles vectores de error.

  • 4. Codificacin de fuente

    Ejercicio 4.1. Desarrolle una funcin que calcule la entropa de una fuente discreta. Esta funcin, h = entropia(p), recibir como entrada un vector p de dimensiones N 1 o

    1 N con la probabilidad de ocurrencia de cada smbolo de la fuente, comprobar que

    se trata efectivamente de un vector de probabilidades vlido (devolviendo un mensaje de error mediante la funcin error de Matlab en caso contrario), y devolver su entropa, h. Evale su rendimiento obteniendo la entropa de las tres fuentes de la cuestin 3.1 y comprobando que coincide con el resultado terico.

    Ejercicio 4.2. Genere 2500 muestras de una seal con una FDP uniforme entre -1 y 1 de su amplitud, y cuantifquela usando un cuantificador del tipo mid-riser con un nmero de niveles entre 1 y 8. Calcule su entropa en cada caso, rellene la columna correspondiente de la Tabla 1, y comprela con el resultado terico de la cuestin 3.3. Repita el procedimiento para una seal cuya amplitud sigue una FDP Gaussiana con media cero y varianza unidad, rellenando la segunda columna de la Tabla 1, y comparando los valores obtenidos con el resultado terico. Aparece alguna diferencia entre la entropa terica y la calculada mediante simulacin en ambos casos? En caso afirmativo, a qu cree que es debido? Cmo vara la entropa al aumentar el nmero de niveles de cuantificacin en ambos casos?

    Bits Uniforme Gaussiana

    1

    2

    3

    4

    5

    6

    Tabla 1: Entropa para diferentes seales y nmero de bits.

    Nota: Para este ejercicio necesitar la funcin q_midriser desarrollada en la prctica anterior. Adems, para evaluar la entropa de manera prctica deber obtener previa-mente la probabilidad de cada smbolo mediante un histograma, como se vio en la prctica 6. Para ello resulta conveniente utilizar la funcin histc en este caso en lugar de hist, ya que permite fijar los lmites de los intervalos.

  • Ejercicio 4.3. La funcin [H,l] = huffman(p) devuelve un cdigo de Huffman para una fuente discreta con un vector de probabilidades p. La matriz H contiene el cdigo asociado a cada smbolo en sus filas, mientras que l es un escalar con la longitud media del cdigo. Compruebe su correcto funcionamiento observando los cdigos generados para cada una de las fuentes de la cuestin 3.1, obteniendo su tasa de compresin y su eficiencia y comprobando que coinciden con los valores calculados en la cuestin 3.2.

    Ejercicio 4.4. Utilice la funcin huffman para obtener un cdigo de Huffman para las seales continuas cuantificadas del ejercicio 4.2 (ambas, la de FDP uniforme y la de FDP Gaussiana), y rellene la tabla siguiente.

    Uniforme Gaussiana

    Bits Tasa de compresin

    Eficiencia Tasa de compresin

    Eficiencia

    1

    2

    3

    4

    5

    6

    Tabla 2: Tasa de compresin y eficiencia del cdigo de Huffman para diferentes seales continuas (FDP uniforme y Gaussiana) y nmero de bits.

    Ejercicio 4.5. Codifique la funcin px = extension(p,k), que obtiene el vector de probabilidades, px, para una fuente discreta cuyos smbolos siguen el vector de probabi-lidades p, cuando se toman smbolos de k en k (esto es, se ha realizado una extensin del cdigo de orden k). Asuma que los smbolos son independientes. Utilice la funcin para obtener una extensin de la primera fuente de la cuestin 3.1 con k=1,...,6. Calcule la entropa de los alfabetos extendidos y obtenga un cdigo de Huffman para cada uno de ellos. Compruebe que la entropa, la tasa de compresin y la eficiencia coinciden con los tericos (calculados en las cuestiones 3.3 y 3.4) cuando sea posible (esto es, para k = 1, 2 y 3). Dibuje la longitud media por smbolo del alfabeto original frente a k, y compruebe cmo desciende uniformemente hacia el lmite terico dado por la entropa de la fuente original.

  • 5. Codificacin de Canal

    Ejercicio 5.1. Desarrolle una funcin que decodifique una secuencia de bits con un cdigo de Hamming (n = 15 y k = 11), m = decod(s,r). Para ello se dispone de la funcin c = encod(m) que realiza la codificacin con la matriz generadora,

    [ ]PIG =

    !!!!!!!!!!!!!!!!

    "

    #

    $$$$$$$$$$$$$$$$

    %

    &

    =

    111110000000000

    011101000000000

    101100100000000

    001100010000000

    110100001000000

    010100000100000

    100100000010000

    111000000001000

    011000000000100

    101000000000010

    110000000000001

    ,

    cuya primera parte es una matriz identidad, de modo que los 11 primeros bits de c son los de m (este es un ejemplo de un cdigo sistemtico), y de una funcin que calcula los bits de sndrome s, s = sindrom(c), mediante la matriz H mostrada a continuacin.

    s E

    0000 000000000000000

    0001 ...

    ... ...

    1111 ...

    [ ]IPH T=!!!!

    "

    #

    $$$$

    %

    &

    =

    100010101011011

    010011001101101

    001011110001110

    000111111110000

    Para realizar la decodificacin va a necesitar obtener el error asociado a cada sndrome. Por lo tanto, se le pide que rellene de forma previa a la prctica la Tabla 3. Compruebe que cada sndrome distinto del vector nulo se corresponde con una de las columnas de H, y que la posicin de la columna indica el bit errneo. Esta informacin va a resultar imprescindible para realizar la funcin de decodificacin.

    Nota: Para llevar a cabo el decodificador se recomienda el uso de las funciones ser2par2 y par2ser2, que son variantes de las ya empleadas en la sesin anterior.

  • Sndrome Vector de error

    0000

    0001

    0010

    0011

    0100

    0101

    0110

    0111

    1000

    1001

    1010

    1011

    1100

    1101

    1110

    1111

    Tabla 3: Sndrome y vector de error asociado para el cdigo de Hamming (15,11).

    Ejercicio 5.2. Genere una secuencia de 11000 bits aleatorios y equiprobables. Dese cuenta de que esto lo puede hacer con la funcin chan_bin de la sesin anterior (indique cmo). Codifique dichos bits con el codificador de canal e introdzcalos en el canal discreto equivalente implementado por chan_bin con Pe = 0.0003, 0.001, 0.003, 0.01, 0.03, 0.1 y 0.3 (promedie para 10 realizaciones). Calcule la probabilidad de error de bit entre la entrada y la salida de chan_bin? Introduzca la salida de chan_bin en el decodificador de canal y compruebe la probabilidad de error de bit a la salida. Obtenga la razn entre el nmero de errores a la salida de decod y a su entrada. Qu ocurre cuando crece Pe?Qu significa esto?

  • Ejercicio 5.3. En el ejercicio anterior se pudo comprobar que al emplear la codificacin de canal los errores producidos por el canal se reducan de forma muy significativa. En este ejercicio se va a explorar un mtodo alternativo de medir la calidad del sistema codificado y sin codificar. Suponga que la probabilidad de error del canal de

    comunicaciones es ( )0

    2 NEQPe b= , y que para mantener la tasa de bits de informacin

    por segundo se ha reducido el tiempo de bit, de modo que la probabilidad de error se

    incrementa en el canal a ( )nkNEQPe b 02= . Genere 110000 bits aleatorios, codif-quelos con encod, y pselos por un canal discreto equivalente para diversos valores de

    0NE

    bentre 1 y 8 (utilice un paso de 0.5) usando la probabilidad de error dada por la

    segunda frmula. Decodifique los bits obtenidos a la salida del canal y calcule la probabilidad de error (promedie para 10 realizaciones). Represente grficamente, empleando la funcin semilogy, la probabilidad de error a la salida del decodificador en funcin de

    0NE

    b (en dBs) y dibuje sobre sta la probabilidad de error del sistema sin

    codificar, empleando la primera frmula de probabilidad de error.

    Ejercicio 5.4. La ganancia de codificacin se define como el valor M por el que hay que multiplicar

    0NE

    b para que las probabilidades de error del sistema sin codificacin y

    con codificacin de canal produzcan la misma BER. Calcule dicha ganancia para los resultados de los ejercicios 5.2 y 5.3. Cmo se comporta la ganancia de codificacin en cada caso? Existen diferencias apreciables entre ambos mtodos de medida? En caso afirmativo, a qu cree que son debidas?

    Ejercicio 5.5. Repita los Ejercicios 5.1 a 5.4 para un cdigo Hamming con n = 7 y k = 4, cuyas matrices G y H se muestran a continuacin. Para ello tendr que modificar las funciones encod y sindrome para ajustarlas a este cdigo (desarrolle dos nuevas funciones encod2 y sindrome2), y rellenar la Tabla 4 (pgina siguiente) con los vectores de error asociados a cada sndrome en este caso.

    !!!!

    "

    #

    $$$$

    %

    &

    =

    1111000

    0110100

    1010010

    1100001

    G !!!

    "

    #

    $$$

    %

    &

    =

    1001011

    0101101

    0011110

    H

  • Sndrome Vector de error

    000

    001

    010

    011

    100

    101

    110

    111

    Tabla 4: Sndrome y vector de error asociado para el cdigo de Hamming (7,4).