SlideShare una empresa de Scribd logo
1 de 32
Teoría elemental de códigos
Codificación y decodificación
        Gloria Serrano Sotelo




                                                     ´               ´               ´
                                Teor´a elemental de codigos Codificacion y decodificacion– p.1/32
                                    ı
Introducción
Los canales de transmisión que utilizamos para enviar,
recibir y almacenar datos no son perfectos, lo que ocurre,
por ejemplo, con los CD’s, teléfonos móviles y
transmisiones espaciales. Es necesario detectar cuando ha
ocurrido un error en el proceso de transmisión y, si es
posible, corregirlo para conseguir que el mensaje recibido
sea lo más parecido posible al mensaje original enviado.
La teoría de códigos tiene como objetivo encontrar buenos
sistemas de codificación y decodificación que permitan
detectar y corregir los errores que se producen en la
transmisión de datos.
La codificación consiste en añadir información extra a los
mensajes que se quieren transmitir a través del canal con
el objetivo de minimizar los efectos del ruido, controlando
los errores que éste produce, es decir, consiguiendo un
sistema fiable de transmisión.                                 ´               ´               ´
                                         Teor´a elemental de codigos Codificacion y decodificacion– p.2/32
                                             ı
Introducción


   u                 x              y                                            u
                                                                                 ˆ
        Codificador        Canal         Decodificador
                         Ruidoso

Los mejores códigos conocidos para la comunicación
sobre canales con ruido son
 • Los códigos lineales, como los Reed-Solomon
    utilizados en los CD’s.
 • Los códigos convolucionales utilizados en
    transmisiones espaciales.
 • Los Turbo códigos, que concatenan códigos lineales y
    convolucionales y se utilizan en telefonía móvil.
                                                              ´               ´               ´
                                         Teor´a elemental de codigos Codificacion y decodificacion– p.3/32
                                             ı
Algunos códigos conocidos


Veremos algunos ejemplos de códigos conocidos y
utilizados comúnmente, que no necesitan transmitir gran
cantidad de información, tan sólo detectar errores
producidos por el fallo humano.
 • Número de identificación fiscal (NIF).
 • International Standard Book Number (ISBN).
 • Códigos de las cuentas bancarias.
 • Códigos de las tarjetas de crédito (CODABAR).



                                                            ´               ´               ´
                                       Teor´a elemental de codigos Codificacion y decodificacion– p.4/32
                                           ı
Número de identificación fiscal (NIF)
En el NIF los números del DNI son los dígitos de
información y la letra es el dígito de control, que se
obtiene calculando el resto de dividir el número por 23 y
buscando la letra que le corresponde en la tabla siguiente.

 Resto   0   1    2    3    4    5        6       7   8         9          10          11           12
 Letra   T   R W       A G       M        Y F         P D                   X           B            N


    Resto    13   14   15   16       17       18      19        20          21           22
    Letra    J    Z    S    Q        V        H       L          C           K            E



                                                                               ´               ´               ´
                                                          Teor´a elemental de codigos Codificacion y decodificacion– p.5/32
                                                              ı
Número de identificación fiscal (NIF)

Ejemplos

 • Calcula el NIF de los siguientes DNI
   ◮ (a) 10561021 ; (b) 07797571
   ◮ (c) 70863649 ; (d) 70873047
 • Calcula el dígito borrado en los siguientes NIF
   ◮ (a) 230?34-Z? ; (b) 708730?8-C?
   ◮ (c) 105?1134-N ; (d) 0?854325-D




                                                               ´               ´               ´
                                          Teor´a elemental de codigos Codificacion y decodificacion– p.6/32
                                              ı
International Standard Book Number (ISBN)

El ISBN es un número de 10 dígitos
                     a1 a2 a3 a4 a5 a6 a7 a8 a9 a10
con la condición
10a1 + 9a2 + 8a3 + 7a4 + 6a5 + 5a6 + 4a7 + 3a8 + 2a9 + a10 = 0 (módulo 11)

 El dígito a10 es el dígito de control que se incluye como
información redundante para que la operación anterior sea
un múltiplo de 11.
Para a10 se necesitan 11 símbolos, por lo que además de los
10 dígitos se utiliza la letra X para representar el número
10 correspondiente al dígito de control.
                                                                        ´               ´               ´
                                                   Teor´a elemental de codigos Codificacion y decodificacion– p.7/32
                                                       ı
International Standard Book Number (ISBN)

Ejemplos

 • Calcula el dígito de control de los siguientes ISBN
   ◮ A course in Error-Correcting Codes. Justensen and Høholdt. ISBN
       3-03719-001-?
   ◮ Handbook of Coding Theory. ISBN 0-444-81472-?
   ◮ Introduction to Coding Theory. J. H. van Lint. ISBN 0-540-54894-?
   ◮ Coding Theory and Cryptography. David Joyner. ISBN
       3-540-66336-?
 • Calcula el dígito que falta en los siguientes ISBN
   ◮   La divina proporción. Luca Pacioli. ISBN 84-7600-7?7-6
   ◮   El tío Petros y la conjetura de Goldbach. ISBN 84-?06-9877-1
   ◮   Los judíos. J. Mosterín. ISBN 84-206-5837-5
   ◮   El viento de la luna. A. Muñoz Molina. ISBN 8?-322-1227-X
                                                                       ´               ´               ´
                                                  Teor´a elemental de codigos Codificacion y decodificacion– p.8/32
                                                      ı
Códigos de las cuentas bancarias



El número de una cuenta bancaria es una sucesión de 20
dígitos del 0 al 9, de la forma
 a3 a4 a5 a6 − a7 a8 a9 a10 − a0 b0 − b1 b2 b3 b4 b5 b6 b7 b8 b9 b10
tal que
4a3 + 8a4 + 5a5 + 10a6 + 9a7 + 7a8 + 3a9 + 6a10 + a0 = 0 (mod 11)
b1 + 2b2 + 4b3 + 8b4 + 5b5 + 10b6 + 9b7 + 7b8 + 3b9 + 6b10 + b0 = 0 (mod 11)

Los dígitos a0 b0 son los de control. Si a0 y b0 deben ser 10
se escribe sólo un 1.

                                                                      ´               ´               ´
                                                 Teor´a elemental de codigos Codificacion y decodificacion– p.9/32
                                                     ı
Códigos de las cuentas bancarias



Ejemplo
Calcula los dígitos de control de las siguientes cuentas
bancarias de solidaridad con Kosovo
Banesto: 0030-1292-cc-0002222271
BCH: 0049-0001-cc-2411399144
BBV: 0182-2370-cc-0010022227




                                                              ´               ´               ´
                                         Teor´a elemental de codigos Codificacion y decodificacion– p.10/32
                                             ı
Códigos de las tarjetas de crédito (CODABAR)

El número de una tarjeta de crédito es del tipo
  a1 a2 a3 a4 − a5 a6 a7 a8 − a9 a10 a11 a12 − a13 a14 a15 a16
tal que se verifica
2(a1 + a3 + a5 + a7 + a9 + a11 + a13 + a15 ) + (a2 + a4 + a6 +
a8 + a10 + a12 + a14 + a16 )+ número de dígitos en posición
impar mayores que 4 = 0 (mod 10).

Este código puede corregir un error y recuperar dos dígitos
que se hayan borrado, de modo que cuando se hace
referencia a un número de tarjeta de crédito (en una
factura, un extracto bancario,...) para mantenerlo oculto
con seguridad se deben ocultar al menos 3 de sus dígitos.

                                                                 ´               ´               ´
                                            Teor´a elemental de codigos Codificacion y decodificacion– p.11/32
                                                ı
Códigos de las tarjetas de crédito (CODABAR)

Ejemplo
 • Averigüa si son válidos los siguientes números de
   tarjetas de crédito
   ◮ 4599-8834-3278-8311
   ◮ 4599-8834-3278-8511
 • Halla el número borrado de las siguientes tarjetas de
   crédito
   ◮ 1007-8606-2?90-1234
   ◮ 6540-98?0-7654-0103




                                                             ´               ´               ´
                                        Teor´a elemental de codigos Codificacion y decodificacion– p.12/32
                                            ı
Códigos lineales

 ´                       ´
Codigo de triple repeticion
x → (x, x, x)
Palabras código: x(1, 1, 1), con x ∈ Fq .
Codificador G = 1 1 1

 ´
Codigo binario de control de paridad
(x, y, z) → (x, y, z, x + y + z)
                              
                    1 0 0 1
Codificador G = 0 1 0 1
                    0 0 1 1
Palabras código: (x, y, z)G, con x, y, z ∈ F2 .

                                                             ´               ´               ´
                                        Teor´a elemental de codigos Codificacion y decodificacion– p.13/32
                                            ı
Códigos lineales
• Un codificador lineal sobre Fq es una matriz de orden
  k × n, k ≤ n, con coeficientes en Fq .
  Las k filas de esta matriz generan un subespacio
  vectorial de Fn . Los vectores de este subespacio son
                q
  las palabras del código.
• Un código lineal de longitud n y dimensión k sobre Fq
  es un subespacio vectorial C de dimensión k de Fn .
                                                  q
  El número de bits de redundancia es n − k .
• Un codificador o matriz generadora del código lineal
  C es una matriz G de orden k × n cuyas filas forman
  una base de C , las palabras base del código.


                                                           ´               ´               ´
                                      Teor´a elemental de codigos Codificacion y decodificacion– p.14/32
                                          ı
Matriz generadora y codificación
Ejemplos
 • Para los códigos binarios de triple repetición y control
   de paridad, calcula las palabras base del código y
   codifica, en cada caso, los siguientes mensajes 0 y
   101.
 • Para el código de matriz generadora
                     
            1 1 1 1
   G = 1 1 0 0
            1 0 0 1
   ◮ Codifica los mensajes 011 y 111.
   ◮ Comprueba que G es una matriz generadora del código
     binario de control de paridad anterior

                                                              ´               ´               ´
                                         Teor´a elemental de codigos Codificacion y decodificacion– p.15/32
                                             ı
Matriz de control
H es una matriz de control del código lineal C de matriz
generadora G si cumple que G · H t = 0.
Podemos redefinir el código lineal C en términos de la
matriz de control así:

                C = {x ∈ Fn | xH t = 0}
                          q

Ejemplo
Calcula matrices de control para los códigos binarios de
triple repetición y control de paridad.




                                                             ´               ´               ´
                                        Teor´a elemental de codigos Codificacion y decodificacion– p.16/32
                                            ı
Distancia y peso mínimo. Control de
                           errores
• La distancia entre dos palabras código
  x = (x1 , . . . , xn ), x′ = (x′1 , . . . , xn ) ∈ C viene dada
  por
                  d(x, x′ ) = #{i | xi = x′i }
• El peso de una palabra x = (x1 , . . . , xn ) viene dado
  por el número de componentes no nulas, esto es

                    w(x) = #{i | xi = 0}
  Por ejemplo, el peso de (1, 0, 1, 0) es 2.




                                                                 ´               ´               ´
                                            Teor´a elemental de codigos Codificacion y decodificacion– p.17/32
                                                ı
Distancia y peso mínimo. Control de
                           errores
• Distancia d de un código C
         d = min{d(x, x′ ) | x, x′ ∈ C, x = x′ }
  Si C es un código lineal d coincide con el peso mínimo
  de las palabras código no nulas

  d = min{d(x, x′ ) = w(x−x′ ) | x, x′ ∈ C, x−x′ = 0}
• Si d > t se pueden detectar errores de peso ≤ t
• Si d > 2t se pueden corregir errores de peso ≤ t.



                                                           ´               ´               ´
                                      Teor´a elemental de codigos Codificacion y decodificacion– p.18/32
                                          ı
Matriz generadora. Matriz de control
Ejemplo
                           1 1 1 0
Dado el codificador G =             sobre F3 ,
                           1 0 2 2
calcula:
 • La longitud, la dimensión y las palabras base del
    código lineal ternario que define.
 • La distancia del código. Averigua qué tipo de errores
    detecta y si corrige alguno.
 • Una matriz de control.




                                                            ´               ´               ´
                                       Teor´a elemental de codigos Codificacion y decodificacion– p.19/32
                                           ı
Distancia. Matriz de control
La matriz de control permite calcular la distancia.
Sea C(n, k, d) un código lineal con matriz de control H :
 • La distancia d del código coincide con el número
   mínimo de columnas de H que son linealmente
   dependientes.
 • Cota de Singleton: d ≤ n − k + 1
 • Un código lineal es óptimo o MDS si su distancia d
   alcanza la cota de Singleton.
   (El código del ejemplo anterior es MDS)




                                                             ´               ´               ´
                                        Teor´a elemental de codigos Codificacion y decodificacion– p.20/32
                                            ı
Matriz de control. Detección de
                               errores
La matriz de control permite detectar errores:
 • Si H es una matriz de control del código, las palabras
   x del código quedan determinadas por la condición
   xH t = 0.
 • En el canal de transmisión

   u                  x             y                                             u
                                                                                  ˆ
         Codificador        Canal        Decodificador
                          Ruidoso


    si se recibe la palabra y , se detecta error en la
    transmisión cuando yH t = 0, es decir, cuando y no es
    una palabra código.

                                                              ´               ´               ´
                                         Teor´a elemental de codigos Codificacion y decodificacion– p.21/32
                                             ı
Síndromes. Control de errores
Sea H una matriz de control del código lineal C(n, k, d)
 • Síndrome de la palabra y ∈ Fn :
                               q

                        S(y) = yH t
 • Si y es una palabra código su síndrome es cero.
 • Si dos palabras y , z tienen el mismo síndrome su
   diferencia y − z es una palabra del código.




                                                            ´               ´               ´
                                       Teor´a elemental de codigos Codificacion y decodificacion– p.22/32
                                           ı
Síndromes. Control de errores
Ejemplo
Para la transmisión a través de un canal con ruido se ha
utilizado un código lineal binario con matriz de control
                               
                   1 1 1 0 1 0 0
              H = 1 1 0 1 0 1 0
                   1 0 1 1 0 0 1
y se han recibido las palabras 0111000 y 1010100.
No se detecta error en la primera pero sí en la segunda.




                                                              ´               ´               ´
                                         Teor´a elemental de codigos Codificacion y decodificacion– p.23/32
                                             ı
Síndromes. Corrección de errores
Sea C un código lineal de parámetros n, k y d.
 • Si d > 2t, dos errores diferentes de peso ≤ t no
   pueden tener el mismo síndrome.
Corrección de errores (d > 2t)
Sea y la palabra recibida:
 • Si S(y) = 0, y es del código y no hay error.
 • Si S(y) = 0 y su síndrome procede de un error e de
   peso ≤ t, yH t = eH t , y − e es una palabra del
   código, la palabra corregida.




                                                            ´               ´               ´
                                       Teor´a elemental de codigos Codificacion y decodificacion– p.24/32
                                           ı
Códigos de Hamming

Hamq (r) es el código lineal sobre Fq con r bits de
redundancia definido por la matriz de control cuyas
columnas son todas las palabras no nulas y no
proporcionales de Fr .
                   q
Los parámetros de Hamq (r) son:
                 qr − 1
 • Longitud n =
                 q−1
 • Dimensión k = n − r
 • Distancia d = 3



                                                            ´               ´               ´
                                       Teor´a elemental de codigos Codificacion y decodificacion– p.25/32
                                           ı
Códigos de Hamming

Ejercicios
1. Construye un código binario con dos dígitos de
redundancia que corrija errores de peso 1 y sea M DS .

2. Para el código binario de Hamming Ham2 (3)
 • Codifica las palabras 1110 y 1010.
 • Decodifica las palabras 0111000, 1010100, 1101001.

3. Para el código ternario de Hamming Ham3 (2)
 • Codifica las palabras 10 y 21
 • Decodifica las palabras 2011, 1122, 1220.
                                                            ´               ´               ´
                                       Teor´a elemental de codigos Codificacion y decodificacion– p.26/32
                                           ı
Códigos convolucionales

Los códigos convolucionales surgen después de los
códigos de bloques y no requieren codificadores muy
complicados.
Estos códigos fueron introducidos por Elias en 1955.
Su creciente aplicación radica en parte en los métodos de
decodificación, puesto que se pasó de algoritmos que eran
independientes de la memoria del código al algoritmo de
Viterbi (1971), cuya complejidad crece exponencialmente
con la memoria, pero que es mucho más fiable como
método de decodificación, puesto que no borra datos como
los algoritmos secuenciales y además el tiempo de
decodificación es fijo.

                                                            ´               ´               ´
                                       Teor´a elemental de codigos Codificacion y decodificacion– p.27/32
                                           ı
Códigos convolucionales

En 1970 Forney da la construcción algebraica en su
trabajo “Convolutional Codes I: Algebraic Structure”, que
es una referencia principal desde entonces.
En 1977 McEliece presenta el libro “The theory of
information and coding”, en el que se incluye la teoría de
códigos convolucionales y el algoritmo de Viterbi.
Es en el artículo de 1998 “The algebraic theory of
convolutional codes”, recogido en el libro “Handbook of
coding theory”, donde desarrolla y amplía con detalle la
teoría de Forney.


                                                              ´               ´               ´
                                         Teor´a elemental de codigos Codificacion y decodificacion– p.28/32
                                             ı
Códigos convolucionales

Uno de las principales aplicaciones de los códigos
convolucionales es la transmisión de información en el
espacio exterior (deep-space).
Las transmisiones a través del espacio exterior están muy
limitadas en potencia, pero no generalmente en ancho de
banda.
Si hay una disminución de la ratio señal ruido,
SN R = Ruido de transmisoralareceptor , con la misma potencia se
           Potencia que llega
                              receptor
cubren distancias mayores.




                                                                 ´               ´               ´
                                            Teor´a elemental de codigos Codificacion y decodificacion– p.29/32
                                                ı
Códigos convolucionales

Los sistemas de comunicación en las naves espaciales
transmiten:
  • Informaciones telemétricas: datos científicos con o sin
    imágenes, datos GSE, etc.
 • Órdenes de la estación terrestre a la nave.
 • “Tracking”: seguimiento de la velocidad, posición y
    otros datos de la nave a través de los datos que ésta
    envía a tierra.
En el canal telemétrico, donde la razón del código
(proporción entre información y redundancia más
información) es relativamente alta, se utilizan códigos
convolucionales y de bloques.
                                                               ´               ´               ´
                                          Teor´a elemental de codigos Codificacion y decodificacion– p.30/32
                                              ı
Códigos convolucionales

En las misiones espaciales Pionner 10 y 11 a Júpiter y
Saturno en 1972-73 se utilizó un código convolucional de
razón 1/2 y memoria 31.

Es a partir del algoritmo de Viterbi cuando el estándar
planetario se convierte en un código convolucional de
memoria menor, memoria 6 y razón 1/2.

El estándar planetario se utilizó por primera vez en la
misión Voyager 1 (1980-81) concatenado con un código
lineal Reed-Solomon y después en las misiones Galileo
(1986) y Voyager 2 (1989) concatenando el estándar con
otros códigos convolucionales y de bloques.

                                                             ´               ´               ´
                                        Teor´a elemental de codigos Codificacion y decodificacion– p.31/32
                                            ı
Códigos convolucionales

Los códigos convolucionales se utilizan también en la
construcción de los turbo códigos, que fueron introducidos
en 1983 por Berrou, Glavieux y Thitimajshima.




                                                            ´               ´               ´
                                       Teor´a elemental de codigos Codificacion y decodificacion– p.32/32
                                           ı

Más contenido relacionado

La actualidad más candente

Capítulo IV - Microondas - Filtros para microondas
Capítulo IV - Microondas - Filtros para microondasCapítulo IV - Microondas - Filtros para microondas
Capítulo IV - Microondas - Filtros para microondasAndy Juan Sarango Veliz
 
Señalizacion de Comunicaciones
Señalizacion de ComunicacionesSeñalizacion de Comunicaciones
Señalizacion de ComunicacionesJosibell Guerrero
 
Lecture 7 probabilidad de error de transmisión pcm. formateo de señales dpcm,...
Lecture 7 probabilidad de error de transmisión pcm. formateo de señales dpcm,...Lecture 7 probabilidad de error de transmisión pcm. formateo de señales dpcm,...
Lecture 7 probabilidad de error de transmisión pcm. formateo de señales dpcm,...nica2009
 
Sistema psk & qpsk
Sistema psk &  qpskSistema psk &  qpsk
Sistema psk & qpskIsrael Chala
 
Jerarquía de Red telefónica y marcación
Jerarquía de Red telefónica y marcaciónJerarquía de Red telefónica y marcación
Jerarquía de Red telefónica y marcaciónArturrow
 
Modulación por desplazamiento de frecuencia
Modulación por desplazamiento de frecuenciaModulación por desplazamiento de frecuencia
Modulación por desplazamiento de frecuenciaCarmen Ea
 
Lecture 18 channel capacity
Lecture 18 channel capacityLecture 18 channel capacity
Lecture 18 channel capacitynica2009
 
4.TDM Multiplexacion por division de tiempo
4.TDM Multiplexacion por division de tiempo4.TDM Multiplexacion por division de tiempo
4.TDM Multiplexacion por division de tiempoEdison Coimbra G.
 
Lab 3: Amplificadores de pequeña señal
Lab 3: Amplificadores de pequeña señalLab 3: Amplificadores de pequeña señal
Lab 3: Amplificadores de pequeña señalÁngel Leonardo Torres
 
Códigos bch, Reed Solomon, convolucionales
Códigos bch, Reed Solomon, convolucionalesCódigos bch, Reed Solomon, convolucionales
Códigos bch, Reed Solomon, convolucionalesEduardoMedrano19
 
Antenas yagi uda
Antenas yagi udaAntenas yagi uda
Antenas yagi udaArkso
 
Códigos de errores - Telecomunicaciones III
Códigos de errores - Telecomunicaciones IIICódigos de errores - Telecomunicaciones III
Códigos de errores - Telecomunicaciones IIIAndy Juan Sarango Veliz
 
Confiabilidad de un radio enlace
Confiabilidad de un radio enlaceConfiabilidad de un radio enlace
Confiabilidad de un radio enlaceFrancisco Apablaza
 
Códigos de línea
Códigos de líneaCódigos de línea
Códigos de líneaOscar Llanos
 

La actualidad más candente (20)

Capítulo IV - Microondas - Filtros para microondas
Capítulo IV - Microondas - Filtros para microondasCapítulo IV - Microondas - Filtros para microondas
Capítulo IV - Microondas - Filtros para microondas
 
Señalizacion de Comunicaciones
Señalizacion de ComunicacionesSeñalizacion de Comunicaciones
Señalizacion de Comunicaciones
 
Lecture 7 probabilidad de error de transmisión pcm. formateo de señales dpcm,...
Lecture 7 probabilidad de error de transmisión pcm. formateo de señales dpcm,...Lecture 7 probabilidad de error de transmisión pcm. formateo de señales dpcm,...
Lecture 7 probabilidad de error de transmisión pcm. formateo de señales dpcm,...
 
Sistema psk & qpsk
Sistema psk &  qpskSistema psk &  qpsk
Sistema psk & qpsk
 
Codigos de linea.pdfcódiga
Codigos de linea.pdfcódigaCodigos de linea.pdfcódiga
Codigos de linea.pdfcódiga
 
codificacion de linea
codificacion de lineacodificacion de linea
codificacion de linea
 
Jerarquía de Red telefónica y marcación
Jerarquía de Red telefónica y marcaciónJerarquía de Red telefónica y marcación
Jerarquía de Red telefónica y marcación
 
Multiplexación tdma fdma cdma
Multiplexación tdma fdma cdmaMultiplexación tdma fdma cdma
Multiplexación tdma fdma cdma
 
Modulacion ask
Modulacion askModulacion ask
Modulacion ask
 
Modulación por desplazamiento de frecuencia
Modulación por desplazamiento de frecuenciaModulación por desplazamiento de frecuencia
Modulación por desplazamiento de frecuencia
 
Lecture 18 channel capacity
Lecture 18 channel capacityLecture 18 channel capacity
Lecture 18 channel capacity
 
4.TDM Multiplexacion por division de tiempo
4.TDM Multiplexacion por division de tiempo4.TDM Multiplexacion por division de tiempo
4.TDM Multiplexacion por division de tiempo
 
Lab 3: Amplificadores de pequeña señal
Lab 3: Amplificadores de pequeña señalLab 3: Amplificadores de pequeña señal
Lab 3: Amplificadores de pequeña señal
 
Modulacion ask
Modulacion askModulacion ask
Modulacion ask
 
Códigos bch, Reed Solomon, convolucionales
Códigos bch, Reed Solomon, convolucionalesCódigos bch, Reed Solomon, convolucionales
Códigos bch, Reed Solomon, convolucionales
 
Antenas yagi uda
Antenas yagi udaAntenas yagi uda
Antenas yagi uda
 
Códigos de errores - Telecomunicaciones III
Códigos de errores - Telecomunicaciones IIICódigos de errores - Telecomunicaciones III
Códigos de errores - Telecomunicaciones III
 
CURSO DE TDT EN PERU
CURSO DE TDT EN PERUCURSO DE TDT EN PERU
CURSO DE TDT EN PERU
 
Confiabilidad de un radio enlace
Confiabilidad de un radio enlaceConfiabilidad de un radio enlace
Confiabilidad de un radio enlace
 
Códigos de línea
Códigos de líneaCódigos de línea
Códigos de línea
 

Destacado

Codificación convolucional
Codificación convolucionalCodificación convolucional
Codificación convolucionalÁngel María
 
Procesador de errores
Procesador de erroresProcesador de errores
Procesador de erroresAnais
 
Codigos Corrector de Errores
Codigos Corrector de ErroresCodigos Corrector de Errores
Codigos Corrector de ErroresWalter Toledo
 
Codificación Convolucional, Decodificador de Viterbi y Turbo Código
Codificación Convolucional, Decodificador de Viterbi y Turbo CódigoCodificación Convolucional, Decodificador de Viterbi y Turbo Código
Codificación Convolucional, Decodificador de Viterbi y Turbo CódigoOscar Javier Jimenez Revelo
 
Diapositivas catalogo de cuentas
Diapositivas catalogo de cuentasDiapositivas catalogo de cuentas
Diapositivas catalogo de cuentasGely PeredoBarradas
 
Lecture 20 detección en códigos lineales de bloque. generación de códigos cíc...
Lecture 20 detección en códigos lineales de bloque. generación de códigos cíc...Lecture 20 detección en códigos lineales de bloque. generación de códigos cíc...
Lecture 20 detección en códigos lineales de bloque. generación de códigos cíc...nica2009
 
Brainstorming o lluvia de ideas
Brainstorming o lluvia de ideasBrainstorming o lluvia de ideas
Brainstorming o lluvia de ideasAngelELH
 
Sistemas de Telecomunicaciones cap 2
Sistemas de Telecomunicaciones cap 2Sistemas de Telecomunicaciones cap 2
Sistemas de Telecomunicaciones cap 2Francisco Apablaza
 
Diapositivas de-contabilidad-
Diapositivas de-contabilidad-Diapositivas de-contabilidad-
Diapositivas de-contabilidad-anolauri1989
 
diferidos_(activo_y_pasivo)_activo_corriente_y_no_corriente
 diferidos_(activo_y_pasivo)_activo_corriente_y_no_corriente diferidos_(activo_y_pasivo)_activo_corriente_y_no_corriente
diferidos_(activo_y_pasivo)_activo_corriente_y_no_corrienteliss12345
 
Lecture 19 codificación para control de errores. generación códigos lineales.
Lecture 19 codificación para control de errores. generación códigos lineales.Lecture 19 codificación para control de errores. generación códigos lineales.
Lecture 19 codificación para control de errores. generación códigos lineales.nica2009
 
Codigo de bloques lineales
Codigo de bloques linealesCodigo de bloques lineales
Codigo de bloques linealesComunicaciones2
 
Tecnico laboral 2 segunda
Tecnico laboral 2 segundaTecnico laboral 2 segunda
Tecnico laboral 2 segundaalbeyro3
 

Destacado (20)

Codificación convolucional
Codificación convolucionalCodificación convolucional
Codificación convolucional
 
Procesador de errores
Procesador de erroresProcesador de errores
Procesador de errores
 
Codigos Corrector de Errores
Codigos Corrector de ErroresCodigos Corrector de Errores
Codigos Corrector de Errores
 
Codificación Convolucional, Decodificador de Viterbi y Turbo Código
Codificación Convolucional, Decodificador de Viterbi y Turbo CódigoCodificación Convolucional, Decodificador de Viterbi y Turbo Código
Codificación Convolucional, Decodificador de Viterbi y Turbo Código
 
Diapositivas catalogo de cuentas
Diapositivas catalogo de cuentasDiapositivas catalogo de cuentas
Diapositivas catalogo de cuentas
 
Lecture 20 detección en códigos lineales de bloque. generación de códigos cíc...
Lecture 20 detección en códigos lineales de bloque. generación de códigos cíc...Lecture 20 detección en códigos lineales de bloque. generación de códigos cíc...
Lecture 20 detección en códigos lineales de bloque. generación de códigos cíc...
 
Brainstorming o lluvia de ideas
Brainstorming o lluvia de ideasBrainstorming o lluvia de ideas
Brainstorming o lluvia de ideas
 
2.expo codigo de cuetas grupo 2 28 10-14
2.expo codigo de cuetas grupo 2 28 10-142.expo codigo de cuetas grupo 2 28 10-14
2.expo codigo de cuetas grupo 2 28 10-14
 
Exposicion de transmision
Exposicion de transmisionExposicion de transmision
Exposicion de transmision
 
Codigos bloque
 Codigos bloque Codigos bloque
Codigos bloque
 
Sistemas de Telecomunicaciones cap 2
Sistemas de Telecomunicaciones cap 2Sistemas de Telecomunicaciones cap 2
Sistemas de Telecomunicaciones cap 2
 
Diapositivas de-contabilidad-
Diapositivas de-contabilidad-Diapositivas de-contabilidad-
Diapositivas de-contabilidad-
 
diferidos_(activo_y_pasivo)_activo_corriente_y_no_corriente
 diferidos_(activo_y_pasivo)_activo_corriente_y_no_corriente diferidos_(activo_y_pasivo)_activo_corriente_y_no_corriente
diferidos_(activo_y_pasivo)_activo_corriente_y_no_corriente
 
Arbol De Huffman
Arbol De HuffmanArbol De Huffman
Arbol De Huffman
 
Lecture 19 codificación para control de errores. generación códigos lineales.
Lecture 19 codificación para control de errores. generación códigos lineales.Lecture 19 codificación para control de errores. generación códigos lineales.
Lecture 19 codificación para control de errores. generación códigos lineales.
 
Comprobacion de Paridad
Comprobacion de ParidadComprobacion de Paridad
Comprobacion de Paridad
 
02 Notes Divide and Conquer
02 Notes Divide and Conquer02 Notes Divide and Conquer
02 Notes Divide and Conquer
 
Codigo de bloques lineales
Codigo de bloques linealesCodigo de bloques lineales
Codigo de bloques lineales
 
Tecnico laboral 2 segunda
Tecnico laboral 2 segundaTecnico laboral 2 segunda
Tecnico laboral 2 segunda
 
CODIGO DE HUFFMAN
CODIGO DE HUFFMANCODIGO DE HUFFMAN
CODIGO DE HUFFMAN
 

Similar a Teoría elemental de códigos: codificación y decodificación

Similar a Teoría elemental de códigos: codificación y decodificación (20)

Trabajo practico n° 7 8
Trabajo practico n° 7   8Trabajo practico n° 7   8
Trabajo practico n° 7 8
 
Codigos..
Codigos..Codigos..
Codigos..
 
Códigos y Modos de Transmisión de Datos
Códigos y Modos de Transmisión de DatosCódigos y Modos de Transmisión de Datos
Códigos y Modos de Transmisión de Datos
 
Codigos binarios
Codigos binariosCodigos binarios
Codigos binarios
 
Conceptualizacion codigo qr
Conceptualizacion codigo qrConceptualizacion codigo qr
Conceptualizacion codigo qr
 
Sistemas numericos
Sistemas numericosSistemas numericos
Sistemas numericos
 
Codigos qr
Codigos qrCodigos qr
Codigos qr
 
Codigos qr
Codigos qrCodigos qr
Codigos qr
 
Codigos qr
Codigos qrCodigos qr
Codigos qr
 
Codigos qr
Codigos qrCodigos qr
Codigos qr
 
Sistemas de numeración
Sistemas  de  numeraciónSistemas  de  numeración
Sistemas de numeración
 
Investigación Códigos INF 164
Investigación Códigos INF 164Investigación Códigos INF 164
Investigación Códigos INF 164
 
Codigo de barras
Codigo de barrasCodigo de barras
Codigo de barras
 
5555.pptx
5555.pptx5555.pptx
5555.pptx
 
Circuitos digitales
Circuitos digitalesCircuitos digitales
Circuitos digitales
 
Ensamblador
EnsambladorEnsamblador
Ensamblador
 
2 - 2 La información digital.pptx
2 - 2 La información digital.pptx2 - 2 La información digital.pptx
2 - 2 La información digital.pptx
 
L ectura 6
L ectura 6L ectura 6
L ectura 6
 
sistemas digitales
 sistemas digitales  sistemas digitales
sistemas digitales
 
Parte 3 digitales cesar hernandez
Parte 3 digitales cesar hernandezParte 3 digitales cesar hernandez
Parte 3 digitales cesar hernandez
 

Último

ACERTIJO DE POSICIÓN DE CORREDORES EN LA OLIMPIADA. Por JAVIER SOLIS NOYOLA
ACERTIJO DE POSICIÓN DE CORREDORES EN LA OLIMPIADA. Por JAVIER SOLIS NOYOLAACERTIJO DE POSICIÓN DE CORREDORES EN LA OLIMPIADA. Por JAVIER SOLIS NOYOLA
ACERTIJO DE POSICIÓN DE CORREDORES EN LA OLIMPIADA. Por JAVIER SOLIS NOYOLAJAVIER SOLIS NOYOLA
 
LABERINTOS DE DISCIPLINAS DEL PENTATLÓN OLÍMPICO MODERNO. Por JAVIER SOLIS NO...
LABERINTOS DE DISCIPLINAS DEL PENTATLÓN OLÍMPICO MODERNO. Por JAVIER SOLIS NO...LABERINTOS DE DISCIPLINAS DEL PENTATLÓN OLÍMPICO MODERNO. Por JAVIER SOLIS NO...
LABERINTOS DE DISCIPLINAS DEL PENTATLÓN OLÍMPICO MODERNO. Por JAVIER SOLIS NO...JAVIER SOLIS NOYOLA
 
INSTRUCCION PREPARATORIA DE TIRO .pptx
INSTRUCCION PREPARATORIA DE TIRO   .pptxINSTRUCCION PREPARATORIA DE TIRO   .pptx
INSTRUCCION PREPARATORIA DE TIRO .pptxdeimerhdz21
 
Cuaderno de trabajo Matemática 3 tercer grado.pdf
Cuaderno de trabajo Matemática 3 tercer grado.pdfCuaderno de trabajo Matemática 3 tercer grado.pdf
Cuaderno de trabajo Matemática 3 tercer grado.pdfNancyLoaa
 
Heinsohn Privacidad y Ciberseguridad para el sector educativo
Heinsohn Privacidad y Ciberseguridad para el sector educativoHeinsohn Privacidad y Ciberseguridad para el sector educativo
Heinsohn Privacidad y Ciberseguridad para el sector educativoFundación YOD YOD
 
2024 - Expo Visibles - Visibilidad Lesbica.pdf
2024 - Expo Visibles - Visibilidad Lesbica.pdf2024 - Expo Visibles - Visibilidad Lesbica.pdf
2024 - Expo Visibles - Visibilidad Lesbica.pdfBaker Publishing Company
 
SEXTO SEGUNDO PERIODO EMPRENDIMIENTO.pptx
SEXTO SEGUNDO PERIODO EMPRENDIMIENTO.pptxSEXTO SEGUNDO PERIODO EMPRENDIMIENTO.pptx
SEXTO SEGUNDO PERIODO EMPRENDIMIENTO.pptxYadi Campos
 
GUIA DE CIRCUNFERENCIA Y ELIPSE UNDÉCIMO 2024.pdf
GUIA DE CIRCUNFERENCIA Y ELIPSE UNDÉCIMO 2024.pdfGUIA DE CIRCUNFERENCIA Y ELIPSE UNDÉCIMO 2024.pdf
GUIA DE CIRCUNFERENCIA Y ELIPSE UNDÉCIMO 2024.pdfPaolaRopero2
 
TIPOLOGÍA TEXTUAL- EXPOSICIÓN Y ARGUMENTACIÓN.pptx
TIPOLOGÍA TEXTUAL- EXPOSICIÓN Y ARGUMENTACIÓN.pptxTIPOLOGÍA TEXTUAL- EXPOSICIÓN Y ARGUMENTACIÓN.pptx
TIPOLOGÍA TEXTUAL- EXPOSICIÓN Y ARGUMENTACIÓN.pptxlclcarmen
 
CLASE - La visión y misión organizacionales.pdf
CLASE - La visión y misión organizacionales.pdfCLASE - La visión y misión organizacionales.pdf
CLASE - La visión y misión organizacionales.pdfJonathanCovena1
 
Éteres. Química Orgánica. Propiedades y reacciones
Éteres. Química Orgánica. Propiedades y reaccionesÉteres. Química Orgánica. Propiedades y reacciones
Éteres. Química Orgánica. Propiedades y reaccionesLauraColom3
 
Planificacion Anual 2do Grado Educacion Primaria 2024 Ccesa007.pdf
Planificacion Anual 2do Grado Educacion Primaria   2024   Ccesa007.pdfPlanificacion Anual 2do Grado Educacion Primaria   2024   Ccesa007.pdf
Planificacion Anual 2do Grado Educacion Primaria 2024 Ccesa007.pdfDemetrio Ccesa Rayme
 
Plan Refuerzo Escolar 2024 para estudiantes con necesidades de Aprendizaje en...
Plan Refuerzo Escolar 2024 para estudiantes con necesidades de Aprendizaje en...Plan Refuerzo Escolar 2024 para estudiantes con necesidades de Aprendizaje en...
Plan Refuerzo Escolar 2024 para estudiantes con necesidades de Aprendizaje en...Carlos Muñoz
 
Neurociencias para Educadores NE24 Ccesa007.pdf
Neurociencias para Educadores  NE24  Ccesa007.pdfNeurociencias para Educadores  NE24  Ccesa007.pdf
Neurociencias para Educadores NE24 Ccesa007.pdfDemetrio Ccesa Rayme
 
Curso = Metodos Tecnicas y Modelos de Enseñanza.pdf
Curso = Metodos Tecnicas y Modelos de Enseñanza.pdfCurso = Metodos Tecnicas y Modelos de Enseñanza.pdf
Curso = Metodos Tecnicas y Modelos de Enseñanza.pdfFrancisco158360
 
Dinámica florecillas a María en el mes d
Dinámica florecillas a María en el mes dDinámica florecillas a María en el mes d
Dinámica florecillas a María en el mes dstEphaniiie
 

Último (20)

Tema 8.- PROTECCION DE LOS SISTEMAS DE INFORMACIÓN.pdf
Tema 8.- PROTECCION DE LOS SISTEMAS DE INFORMACIÓN.pdfTema 8.- PROTECCION DE LOS SISTEMAS DE INFORMACIÓN.pdf
Tema 8.- PROTECCION DE LOS SISTEMAS DE INFORMACIÓN.pdf
 
ACERTIJO DE POSICIÓN DE CORREDORES EN LA OLIMPIADA. Por JAVIER SOLIS NOYOLA
ACERTIJO DE POSICIÓN DE CORREDORES EN LA OLIMPIADA. Por JAVIER SOLIS NOYOLAACERTIJO DE POSICIÓN DE CORREDORES EN LA OLIMPIADA. Por JAVIER SOLIS NOYOLA
ACERTIJO DE POSICIÓN DE CORREDORES EN LA OLIMPIADA. Por JAVIER SOLIS NOYOLA
 
LABERINTOS DE DISCIPLINAS DEL PENTATLÓN OLÍMPICO MODERNO. Por JAVIER SOLIS NO...
LABERINTOS DE DISCIPLINAS DEL PENTATLÓN OLÍMPICO MODERNO. Por JAVIER SOLIS NO...LABERINTOS DE DISCIPLINAS DEL PENTATLÓN OLÍMPICO MODERNO. Por JAVIER SOLIS NO...
LABERINTOS DE DISCIPLINAS DEL PENTATLÓN OLÍMPICO MODERNO. Por JAVIER SOLIS NO...
 
INSTRUCCION PREPARATORIA DE TIRO .pptx
INSTRUCCION PREPARATORIA DE TIRO   .pptxINSTRUCCION PREPARATORIA DE TIRO   .pptx
INSTRUCCION PREPARATORIA DE TIRO .pptx
 
Cuaderno de trabajo Matemática 3 tercer grado.pdf
Cuaderno de trabajo Matemática 3 tercer grado.pdfCuaderno de trabajo Matemática 3 tercer grado.pdf
Cuaderno de trabajo Matemática 3 tercer grado.pdf
 
Heinsohn Privacidad y Ciberseguridad para el sector educativo
Heinsohn Privacidad y Ciberseguridad para el sector educativoHeinsohn Privacidad y Ciberseguridad para el sector educativo
Heinsohn Privacidad y Ciberseguridad para el sector educativo
 
2024 - Expo Visibles - Visibilidad Lesbica.pdf
2024 - Expo Visibles - Visibilidad Lesbica.pdf2024 - Expo Visibles - Visibilidad Lesbica.pdf
2024 - Expo Visibles - Visibilidad Lesbica.pdf
 
SEXTO SEGUNDO PERIODO EMPRENDIMIENTO.pptx
SEXTO SEGUNDO PERIODO EMPRENDIMIENTO.pptxSEXTO SEGUNDO PERIODO EMPRENDIMIENTO.pptx
SEXTO SEGUNDO PERIODO EMPRENDIMIENTO.pptx
 
GUIA DE CIRCUNFERENCIA Y ELIPSE UNDÉCIMO 2024.pdf
GUIA DE CIRCUNFERENCIA Y ELIPSE UNDÉCIMO 2024.pdfGUIA DE CIRCUNFERENCIA Y ELIPSE UNDÉCIMO 2024.pdf
GUIA DE CIRCUNFERENCIA Y ELIPSE UNDÉCIMO 2024.pdf
 
TIPOLOGÍA TEXTUAL- EXPOSICIÓN Y ARGUMENTACIÓN.pptx
TIPOLOGÍA TEXTUAL- EXPOSICIÓN Y ARGUMENTACIÓN.pptxTIPOLOGÍA TEXTUAL- EXPOSICIÓN Y ARGUMENTACIÓN.pptx
TIPOLOGÍA TEXTUAL- EXPOSICIÓN Y ARGUMENTACIÓN.pptx
 
CLASE - La visión y misión organizacionales.pdf
CLASE - La visión y misión organizacionales.pdfCLASE - La visión y misión organizacionales.pdf
CLASE - La visión y misión organizacionales.pdf
 
Fe contra todo pronóstico. La fe es confianza.
Fe contra todo pronóstico. La fe es confianza.Fe contra todo pronóstico. La fe es confianza.
Fe contra todo pronóstico. La fe es confianza.
 
Éteres. Química Orgánica. Propiedades y reacciones
Éteres. Química Orgánica. Propiedades y reaccionesÉteres. Química Orgánica. Propiedades y reacciones
Éteres. Química Orgánica. Propiedades y reacciones
 
Presentacion Metodología de Enseñanza Multigrado
Presentacion Metodología de Enseñanza MultigradoPresentacion Metodología de Enseñanza Multigrado
Presentacion Metodología de Enseñanza Multigrado
 
Planificacion Anual 2do Grado Educacion Primaria 2024 Ccesa007.pdf
Planificacion Anual 2do Grado Educacion Primaria   2024   Ccesa007.pdfPlanificacion Anual 2do Grado Educacion Primaria   2024   Ccesa007.pdf
Planificacion Anual 2do Grado Educacion Primaria 2024 Ccesa007.pdf
 
Plan Refuerzo Escolar 2024 para estudiantes con necesidades de Aprendizaje en...
Plan Refuerzo Escolar 2024 para estudiantes con necesidades de Aprendizaje en...Plan Refuerzo Escolar 2024 para estudiantes con necesidades de Aprendizaje en...
Plan Refuerzo Escolar 2024 para estudiantes con necesidades de Aprendizaje en...
 
Neurociencias para Educadores NE24 Ccesa007.pdf
Neurociencias para Educadores  NE24  Ccesa007.pdfNeurociencias para Educadores  NE24  Ccesa007.pdf
Neurociencias para Educadores NE24 Ccesa007.pdf
 
Medición del Movimiento Online 2024.pptx
Medición del Movimiento Online 2024.pptxMedición del Movimiento Online 2024.pptx
Medición del Movimiento Online 2024.pptx
 
Curso = Metodos Tecnicas y Modelos de Enseñanza.pdf
Curso = Metodos Tecnicas y Modelos de Enseñanza.pdfCurso = Metodos Tecnicas y Modelos de Enseñanza.pdf
Curso = Metodos Tecnicas y Modelos de Enseñanza.pdf
 
Dinámica florecillas a María en el mes d
Dinámica florecillas a María en el mes dDinámica florecillas a María en el mes d
Dinámica florecillas a María en el mes d
 

Teoría elemental de códigos: codificación y decodificación

  • 1. Teoría elemental de códigos Codificación y decodificación Gloria Serrano Sotelo ´ ´ ´ Teor´a elemental de codigos Codificacion y decodificacion– p.1/32 ı
  • 2. Introducción Los canales de transmisión que utilizamos para enviar, recibir y almacenar datos no son perfectos, lo que ocurre, por ejemplo, con los CD’s, teléfonos móviles y transmisiones espaciales. Es necesario detectar cuando ha ocurrido un error en el proceso de transmisión y, si es posible, corregirlo para conseguir que el mensaje recibido sea lo más parecido posible al mensaje original enviado. La teoría de códigos tiene como objetivo encontrar buenos sistemas de codificación y decodificación que permitan detectar y corregir los errores que se producen en la transmisión de datos. La codificación consiste en añadir información extra a los mensajes que se quieren transmitir a través del canal con el objetivo de minimizar los efectos del ruido, controlando los errores que éste produce, es decir, consiguiendo un sistema fiable de transmisión. ´ ´ ´ Teor´a elemental de codigos Codificacion y decodificacion– p.2/32 ı
  • 3. Introducción u x y u ˆ Codificador Canal Decodificador Ruidoso Los mejores códigos conocidos para la comunicación sobre canales con ruido son • Los códigos lineales, como los Reed-Solomon utilizados en los CD’s. • Los códigos convolucionales utilizados en transmisiones espaciales. • Los Turbo códigos, que concatenan códigos lineales y convolucionales y se utilizan en telefonía móvil. ´ ´ ´ Teor´a elemental de codigos Codificacion y decodificacion– p.3/32 ı
  • 4. Algunos códigos conocidos Veremos algunos ejemplos de códigos conocidos y utilizados comúnmente, que no necesitan transmitir gran cantidad de información, tan sólo detectar errores producidos por el fallo humano. • Número de identificación fiscal (NIF). • International Standard Book Number (ISBN). • Códigos de las cuentas bancarias. • Códigos de las tarjetas de crédito (CODABAR). ´ ´ ´ Teor´a elemental de codigos Codificacion y decodificacion– p.4/32 ı
  • 5. Número de identificación fiscal (NIF) En el NIF los números del DNI son los dígitos de información y la letra es el dígito de control, que se obtiene calculando el resto de dividir el número por 23 y buscando la letra que le corresponde en la tabla siguiente. Resto 0 1 2 3 4 5 6 7 8 9 10 11 12 Letra T R W A G M Y F P D X B N Resto 13 14 15 16 17 18 19 20 21 22 Letra J Z S Q V H L C K E ´ ´ ´ Teor´a elemental de codigos Codificacion y decodificacion– p.5/32 ı
  • 6. Número de identificación fiscal (NIF) Ejemplos • Calcula el NIF de los siguientes DNI ◮ (a) 10561021 ; (b) 07797571 ◮ (c) 70863649 ; (d) 70873047 • Calcula el dígito borrado en los siguientes NIF ◮ (a) 230?34-Z? ; (b) 708730?8-C? ◮ (c) 105?1134-N ; (d) 0?854325-D ´ ´ ´ Teor´a elemental de codigos Codificacion y decodificacion– p.6/32 ı
  • 7. International Standard Book Number (ISBN) El ISBN es un número de 10 dígitos a1 a2 a3 a4 a5 a6 a7 a8 a9 a10 con la condición 10a1 + 9a2 + 8a3 + 7a4 + 6a5 + 5a6 + 4a7 + 3a8 + 2a9 + a10 = 0 (módulo 11) El dígito a10 es el dígito de control que se incluye como información redundante para que la operación anterior sea un múltiplo de 11. Para a10 se necesitan 11 símbolos, por lo que además de los 10 dígitos se utiliza la letra X para representar el número 10 correspondiente al dígito de control. ´ ´ ´ Teor´a elemental de codigos Codificacion y decodificacion– p.7/32 ı
  • 8. International Standard Book Number (ISBN) Ejemplos • Calcula el dígito de control de los siguientes ISBN ◮ A course in Error-Correcting Codes. Justensen and Høholdt. ISBN 3-03719-001-? ◮ Handbook of Coding Theory. ISBN 0-444-81472-? ◮ Introduction to Coding Theory. J. H. van Lint. ISBN 0-540-54894-? ◮ Coding Theory and Cryptography. David Joyner. ISBN 3-540-66336-? • Calcula el dígito que falta en los siguientes ISBN ◮ La divina proporción. Luca Pacioli. ISBN 84-7600-7?7-6 ◮ El tío Petros y la conjetura de Goldbach. ISBN 84-?06-9877-1 ◮ Los judíos. J. Mosterín. ISBN 84-206-5837-5 ◮ El viento de la luna. A. Muñoz Molina. ISBN 8?-322-1227-X ´ ´ ´ Teor´a elemental de codigos Codificacion y decodificacion– p.8/32 ı
  • 9. Códigos de las cuentas bancarias El número de una cuenta bancaria es una sucesión de 20 dígitos del 0 al 9, de la forma a3 a4 a5 a6 − a7 a8 a9 a10 − a0 b0 − b1 b2 b3 b4 b5 b6 b7 b8 b9 b10 tal que 4a3 + 8a4 + 5a5 + 10a6 + 9a7 + 7a8 + 3a9 + 6a10 + a0 = 0 (mod 11) b1 + 2b2 + 4b3 + 8b4 + 5b5 + 10b6 + 9b7 + 7b8 + 3b9 + 6b10 + b0 = 0 (mod 11) Los dígitos a0 b0 son los de control. Si a0 y b0 deben ser 10 se escribe sólo un 1. ´ ´ ´ Teor´a elemental de codigos Codificacion y decodificacion– p.9/32 ı
  • 10. Códigos de las cuentas bancarias Ejemplo Calcula los dígitos de control de las siguientes cuentas bancarias de solidaridad con Kosovo Banesto: 0030-1292-cc-0002222271 BCH: 0049-0001-cc-2411399144 BBV: 0182-2370-cc-0010022227 ´ ´ ´ Teor´a elemental de codigos Codificacion y decodificacion– p.10/32 ı
  • 11. Códigos de las tarjetas de crédito (CODABAR) El número de una tarjeta de crédito es del tipo a1 a2 a3 a4 − a5 a6 a7 a8 − a9 a10 a11 a12 − a13 a14 a15 a16 tal que se verifica 2(a1 + a3 + a5 + a7 + a9 + a11 + a13 + a15 ) + (a2 + a4 + a6 + a8 + a10 + a12 + a14 + a16 )+ número de dígitos en posición impar mayores que 4 = 0 (mod 10). Este código puede corregir un error y recuperar dos dígitos que se hayan borrado, de modo que cuando se hace referencia a un número de tarjeta de crédito (en una factura, un extracto bancario,...) para mantenerlo oculto con seguridad se deben ocultar al menos 3 de sus dígitos. ´ ´ ´ Teor´a elemental de codigos Codificacion y decodificacion– p.11/32 ı
  • 12. Códigos de las tarjetas de crédito (CODABAR) Ejemplo • Averigüa si son válidos los siguientes números de tarjetas de crédito ◮ 4599-8834-3278-8311 ◮ 4599-8834-3278-8511 • Halla el número borrado de las siguientes tarjetas de crédito ◮ 1007-8606-2?90-1234 ◮ 6540-98?0-7654-0103 ´ ´ ´ Teor´a elemental de codigos Codificacion y decodificacion– p.12/32 ı
  • 13. Códigos lineales ´ ´ Codigo de triple repeticion x → (x, x, x) Palabras código: x(1, 1, 1), con x ∈ Fq . Codificador G = 1 1 1 ´ Codigo binario de control de paridad (x, y, z) → (x, y, z, x + y + z)   1 0 0 1 Codificador G = 0 1 0 1 0 0 1 1 Palabras código: (x, y, z)G, con x, y, z ∈ F2 . ´ ´ ´ Teor´a elemental de codigos Codificacion y decodificacion– p.13/32 ı
  • 14. Códigos lineales • Un codificador lineal sobre Fq es una matriz de orden k × n, k ≤ n, con coeficientes en Fq . Las k filas de esta matriz generan un subespacio vectorial de Fn . Los vectores de este subespacio son q las palabras del código. • Un código lineal de longitud n y dimensión k sobre Fq es un subespacio vectorial C de dimensión k de Fn . q El número de bits de redundancia es n − k . • Un codificador o matriz generadora del código lineal C es una matriz G de orden k × n cuyas filas forman una base de C , las palabras base del código. ´ ´ ´ Teor´a elemental de codigos Codificacion y decodificacion– p.14/32 ı
  • 15. Matriz generadora y codificación Ejemplos • Para los códigos binarios de triple repetición y control de paridad, calcula las palabras base del código y codifica, en cada caso, los siguientes mensajes 0 y 101. • Para el código de matriz generadora   1 1 1 1 G = 1 1 0 0 1 0 0 1 ◮ Codifica los mensajes 011 y 111. ◮ Comprueba que G es una matriz generadora del código binario de control de paridad anterior ´ ´ ´ Teor´a elemental de codigos Codificacion y decodificacion– p.15/32 ı
  • 16. Matriz de control H es una matriz de control del código lineal C de matriz generadora G si cumple que G · H t = 0. Podemos redefinir el código lineal C en términos de la matriz de control así: C = {x ∈ Fn | xH t = 0} q Ejemplo Calcula matrices de control para los códigos binarios de triple repetición y control de paridad. ´ ´ ´ Teor´a elemental de codigos Codificacion y decodificacion– p.16/32 ı
  • 17. Distancia y peso mínimo. Control de errores • La distancia entre dos palabras código x = (x1 , . . . , xn ), x′ = (x′1 , . . . , xn ) ∈ C viene dada por d(x, x′ ) = #{i | xi = x′i } • El peso de una palabra x = (x1 , . . . , xn ) viene dado por el número de componentes no nulas, esto es w(x) = #{i | xi = 0} Por ejemplo, el peso de (1, 0, 1, 0) es 2. ´ ´ ´ Teor´a elemental de codigos Codificacion y decodificacion– p.17/32 ı
  • 18. Distancia y peso mínimo. Control de errores • Distancia d de un código C d = min{d(x, x′ ) | x, x′ ∈ C, x = x′ } Si C es un código lineal d coincide con el peso mínimo de las palabras código no nulas d = min{d(x, x′ ) = w(x−x′ ) | x, x′ ∈ C, x−x′ = 0} • Si d > t se pueden detectar errores de peso ≤ t • Si d > 2t se pueden corregir errores de peso ≤ t. ´ ´ ´ Teor´a elemental de codigos Codificacion y decodificacion– p.18/32 ı
  • 19. Matriz generadora. Matriz de control Ejemplo 1 1 1 0 Dado el codificador G = sobre F3 , 1 0 2 2 calcula: • La longitud, la dimensión y las palabras base del código lineal ternario que define. • La distancia del código. Averigua qué tipo de errores detecta y si corrige alguno. • Una matriz de control. ´ ´ ´ Teor´a elemental de codigos Codificacion y decodificacion– p.19/32 ı
  • 20. Distancia. Matriz de control La matriz de control permite calcular la distancia. Sea C(n, k, d) un código lineal con matriz de control H : • La distancia d del código coincide con el número mínimo de columnas de H que son linealmente dependientes. • Cota de Singleton: d ≤ n − k + 1 • Un código lineal es óptimo o MDS si su distancia d alcanza la cota de Singleton. (El código del ejemplo anterior es MDS) ´ ´ ´ Teor´a elemental de codigos Codificacion y decodificacion– p.20/32 ı
  • 21. Matriz de control. Detección de errores La matriz de control permite detectar errores: • Si H es una matriz de control del código, las palabras x del código quedan determinadas por la condición xH t = 0. • En el canal de transmisión u x y u ˆ Codificador Canal Decodificador Ruidoso si se recibe la palabra y , se detecta error en la transmisión cuando yH t = 0, es decir, cuando y no es una palabra código. ´ ´ ´ Teor´a elemental de codigos Codificacion y decodificacion– p.21/32 ı
  • 22. Síndromes. Control de errores Sea H una matriz de control del código lineal C(n, k, d) • Síndrome de la palabra y ∈ Fn : q S(y) = yH t • Si y es una palabra código su síndrome es cero. • Si dos palabras y , z tienen el mismo síndrome su diferencia y − z es una palabra del código. ´ ´ ´ Teor´a elemental de codigos Codificacion y decodificacion– p.22/32 ı
  • 23. Síndromes. Control de errores Ejemplo Para la transmisión a través de un canal con ruido se ha utilizado un código lineal binario con matriz de control   1 1 1 0 1 0 0 H = 1 1 0 1 0 1 0 1 0 1 1 0 0 1 y se han recibido las palabras 0111000 y 1010100. No se detecta error en la primera pero sí en la segunda. ´ ´ ´ Teor´a elemental de codigos Codificacion y decodificacion– p.23/32 ı
  • 24. Síndromes. Corrección de errores Sea C un código lineal de parámetros n, k y d. • Si d > 2t, dos errores diferentes de peso ≤ t no pueden tener el mismo síndrome. Corrección de errores (d > 2t) Sea y la palabra recibida: • Si S(y) = 0, y es del código y no hay error. • Si S(y) = 0 y su síndrome procede de un error e de peso ≤ t, yH t = eH t , y − e es una palabra del código, la palabra corregida. ´ ´ ´ Teor´a elemental de codigos Codificacion y decodificacion– p.24/32 ı
  • 25. Códigos de Hamming Hamq (r) es el código lineal sobre Fq con r bits de redundancia definido por la matriz de control cuyas columnas son todas las palabras no nulas y no proporcionales de Fr . q Los parámetros de Hamq (r) son: qr − 1 • Longitud n = q−1 • Dimensión k = n − r • Distancia d = 3 ´ ´ ´ Teor´a elemental de codigos Codificacion y decodificacion– p.25/32 ı
  • 26. Códigos de Hamming Ejercicios 1. Construye un código binario con dos dígitos de redundancia que corrija errores de peso 1 y sea M DS . 2. Para el código binario de Hamming Ham2 (3) • Codifica las palabras 1110 y 1010. • Decodifica las palabras 0111000, 1010100, 1101001. 3. Para el código ternario de Hamming Ham3 (2) • Codifica las palabras 10 y 21 • Decodifica las palabras 2011, 1122, 1220. ´ ´ ´ Teor´a elemental de codigos Codificacion y decodificacion– p.26/32 ı
  • 27. Códigos convolucionales Los códigos convolucionales surgen después de los códigos de bloques y no requieren codificadores muy complicados. Estos códigos fueron introducidos por Elias en 1955. Su creciente aplicación radica en parte en los métodos de decodificación, puesto que se pasó de algoritmos que eran independientes de la memoria del código al algoritmo de Viterbi (1971), cuya complejidad crece exponencialmente con la memoria, pero que es mucho más fiable como método de decodificación, puesto que no borra datos como los algoritmos secuenciales y además el tiempo de decodificación es fijo. ´ ´ ´ Teor´a elemental de codigos Codificacion y decodificacion– p.27/32 ı
  • 28. Códigos convolucionales En 1970 Forney da la construcción algebraica en su trabajo “Convolutional Codes I: Algebraic Structure”, que es una referencia principal desde entonces. En 1977 McEliece presenta el libro “The theory of information and coding”, en el que se incluye la teoría de códigos convolucionales y el algoritmo de Viterbi. Es en el artículo de 1998 “The algebraic theory of convolutional codes”, recogido en el libro “Handbook of coding theory”, donde desarrolla y amplía con detalle la teoría de Forney. ´ ´ ´ Teor´a elemental de codigos Codificacion y decodificacion– p.28/32 ı
  • 29. Códigos convolucionales Uno de las principales aplicaciones de los códigos convolucionales es la transmisión de información en el espacio exterior (deep-space). Las transmisiones a través del espacio exterior están muy limitadas en potencia, pero no generalmente en ancho de banda. Si hay una disminución de la ratio señal ruido, SN R = Ruido de transmisoralareceptor , con la misma potencia se Potencia que llega receptor cubren distancias mayores. ´ ´ ´ Teor´a elemental de codigos Codificacion y decodificacion– p.29/32 ı
  • 30. Códigos convolucionales Los sistemas de comunicación en las naves espaciales transmiten: • Informaciones telemétricas: datos científicos con o sin imágenes, datos GSE, etc. • Órdenes de la estación terrestre a la nave. • “Tracking”: seguimiento de la velocidad, posición y otros datos de la nave a través de los datos que ésta envía a tierra. En el canal telemétrico, donde la razón del código (proporción entre información y redundancia más información) es relativamente alta, se utilizan códigos convolucionales y de bloques. ´ ´ ´ Teor´a elemental de codigos Codificacion y decodificacion– p.30/32 ı
  • 31. Códigos convolucionales En las misiones espaciales Pionner 10 y 11 a Júpiter y Saturno en 1972-73 se utilizó un código convolucional de razón 1/2 y memoria 31. Es a partir del algoritmo de Viterbi cuando el estándar planetario se convierte en un código convolucional de memoria menor, memoria 6 y razón 1/2. El estándar planetario se utilizó por primera vez en la misión Voyager 1 (1980-81) concatenado con un código lineal Reed-Solomon y después en las misiones Galileo (1986) y Voyager 2 (1989) concatenando el estándar con otros códigos convolucionales y de bloques. ´ ´ ´ Teor´a elemental de codigos Codificacion y decodificacion– p.31/32 ı
  • 32. Códigos convolucionales Los códigos convolucionales se utilizan también en la construcción de los turbo códigos, que fueron introducidos en 1983 por Berrou, Glavieux y Thitimajshima. ´ ´ ´ Teor´a elemental de codigos Codificacion y decodificacion– p.32/32 ı