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

Teoria de la informacion
Teoria de la informacionTeoria de la informacion
Teoria de la informacionGalafardo Gala
 
Investigación Códigos INF 164
Investigación Códigos INF 164Investigación Códigos INF 164
Investigación Códigos INF 164EdualSarmiento
 
Sistema psk & qpsk
Sistema psk &  qpskSistema psk &  qpsk
Sistema psk & qpskIsrael Chala
 
Lecture 14 modulacion digital parte 2
Lecture 14 modulacion digital    parte 2Lecture 14 modulacion digital    parte 2
Lecture 14 modulacion digital parte 2nica2009
 
Lecture 4 teoría de la información
Lecture 4 teoría de la informaciónLecture 4 teoría de la información
Lecture 4 teoría de la informaciónnica2009
 
Grupos y codigos matematica discreta
Grupos y codigos  matematica discretaGrupos y codigos  matematica discreta
Grupos y codigos matematica discretaleidysamelia
 
Lecture 3 codificación fuente
Lecture 3 codificación fuenteLecture 3 codificación fuente
Lecture 3 codificación fuentenica2009
 
Compresion de Datos - Telecomunicaciones III
Compresion de Datos - Telecomunicaciones IIICompresion de Datos - Telecomunicaciones III
Compresion de Datos - Telecomunicaciones IIIAndy Juan Sarango Veliz
 
Modulación por desplazamiento de fase (psk) exposicion
Modulación por desplazamiento de fase (psk) exposicionModulación por desplazamiento de fase (psk) exposicion
Modulación por desplazamiento de fase (psk) exposicionAlieth Guevara
 
Muestreo y cuantificación de una señal analógica con MatLab
Muestreo y cuantificación de una señal analógica con MatLabMuestreo y cuantificación de una señal analógica con MatLab
Muestreo y cuantificación de una señal analógica con MatLabmarco calderon layme
 
Channel Coding (Digital communication)
Channel Coding (Digital communication)Channel Coding (Digital communication)
Channel Coding (Digital communication)VARUN KUMAR
 

La actualidad más candente (20)

Tema 4 codificación de canal
Tema 4   codificación de canalTema 4   codificación de canal
Tema 4 codificación de canal
 
Modulacion pcm
Modulacion pcmModulacion pcm
Modulacion pcm
 
Teoria de la informacion
Teoria de la informacionTeoria de la informacion
Teoria de la informacion
 
Investigación Códigos INF 164
Investigación Códigos INF 164Investigación Códigos INF 164
Investigación Códigos INF 164
 
Trellis Y Viterbi
Trellis Y ViterbiTrellis Y Viterbi
Trellis Y Viterbi
 
Sistema psk & qpsk
Sistema psk &  qpskSistema psk &  qpsk
Sistema psk & qpsk
 
Lecture 14 modulacion digital parte 2
Lecture 14 modulacion digital    parte 2Lecture 14 modulacion digital    parte 2
Lecture 14 modulacion digital parte 2
 
Lecture 4 teoría de la información
Lecture 4 teoría de la informaciónLecture 4 teoría de la información
Lecture 4 teoría de la información
 
Modulación pcm
Modulación pcmModulación pcm
Modulación pcm
 
CODIGO DE HUFFMAN
CODIGO DE HUFFMANCODIGO DE HUFFMAN
CODIGO DE HUFFMAN
 
Detección de errores CRC
Detección de errores CRCDetección de errores CRC
Detección de errores CRC
 
Grupos y codigos matematica discreta
Grupos y codigos  matematica discretaGrupos y codigos  matematica discreta
Grupos y codigos matematica discreta
 
Lecture 3 codificación fuente
Lecture 3 codificación fuenteLecture 3 codificación fuente
Lecture 3 codificación fuente
 
Compresion de Datos - Telecomunicaciones III
Compresion de Datos - Telecomunicaciones IIICompresion de Datos - Telecomunicaciones III
Compresion de Datos - Telecomunicaciones III
 
Modulación por desplazamiento de fase (psk) exposicion
Modulación por desplazamiento de fase (psk) exposicionModulación por desplazamiento de fase (psk) exposicion
Modulación por desplazamiento de fase (psk) exposicion
 
Codificación de línea
Codificación de líneaCodificación de línea
Codificación de línea
 
Muestreo y cuantificación de una señal analógica con MatLab
Muestreo y cuantificación de una señal analógica con MatLabMuestreo y cuantificación de una señal analógica con MatLab
Muestreo y cuantificación de una señal analógica con MatLab
 
Channel Coding (Digital communication)
Channel Coding (Digital communication)Channel Coding (Digital communication)
Channel Coding (Digital communication)
 
Conferencia n° 5
Conferencia n° 5Conferencia n° 5
Conferencia n° 5
 
CodificacióN De Canal
CodificacióN De CanalCodificacióN De Canal
CodificacióN De Canal
 

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
 
Diapositivas catalogo de cuentas
Diapositivas catalogo de cuentasDiapositivas catalogo de cuentas
Diapositivas catalogo de cuentasGely PeredoBarradas
 
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
 
Tecnico laboral 2 segunda
Tecnico laboral 2 segundaTecnico laboral 2 segunda
Tecnico laboral 2 segundaalbeyro3
 
Codificación y sus tecnicas
Codificación y sus tecnicasCodificación y sus tecnicas
Codificación y sus tecnicaskevinluchi
 
Plan unico de cuentas
Plan unico de cuentasPlan unico de cuentas
Plan unico de cuentasUNEG
 
Ajustes de cuentas y hoja de trabajo
Ajustes de cuentas y hoja de trabajoAjustes de cuentas y hoja de trabajo
Ajustes de cuentas y hoja de trabajoalejandrag158
 

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
 
Diapositivas catalogo de cuentas
Diapositivas catalogo de cuentasDiapositivas catalogo de cuentas
Diapositivas catalogo de cuentas
 
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
 
Tecnico laboral 2 segunda
Tecnico laboral 2 segundaTecnico laboral 2 segunda
Tecnico laboral 2 segunda
 
Codificación y sus tecnicas
Codificación y sus tecnicasCodificación y sus tecnicas
Codificación y sus tecnicas
 
Contabilidad General I
Contabilidad General IContabilidad General I
Contabilidad General I
 
Plan unico de cuentas
Plan unico de cuentasPlan unico de cuentas
Plan unico de cuentas
 
Ajustes de cuentas y hoja de trabajo
Ajustes de cuentas y hoja de trabajoAjustes de cuentas y hoja de trabajo
Ajustes de cuentas y hoja de trabajo
 

Similar a Códigos (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
 
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
 
Convertidor morontes trejo
Convertidor morontes trejoConvertidor morontes trejo
Convertidor morontes trejo
 

Último

prostitución en España: una mirada integral!
prostitución en España: una mirada integral!prostitución en España: una mirada integral!
prostitución en España: una mirada integral!CatalinaAlfaroChryso
 
La Sostenibilidad Corporativa. Administración Ambiental
La Sostenibilidad Corporativa. Administración AmbientalLa Sostenibilidad Corporativa. Administración Ambiental
La Sostenibilidad Corporativa. Administración AmbientalJonathanCovena1
 
Posición astronómica y geográfica de Europa.pptx
Posición astronómica y geográfica de Europa.pptxPosición astronómica y geográfica de Europa.pptx
Posición astronómica y geográfica de Europa.pptxBeatrizQuijano2
 
Prueba libre de Geografía para obtención título Bachillerato - 2024
Prueba libre de Geografía para obtención título Bachillerato - 2024Prueba libre de Geografía para obtención título Bachillerato - 2024
Prueba libre de Geografía para obtención título Bachillerato - 2024Juan Martín Martín
 
1ro Programación Anual D.P.C.C planificación anual del área para el desarroll...
1ro Programación Anual D.P.C.C planificación anual del área para el desarroll...1ro Programación Anual D.P.C.C planificación anual del área para el desarroll...
1ro Programación Anual D.P.C.C planificación anual del área para el desarroll...JoseMartinMalpartida1
 
Feliz Día de la Madre - 5 de Mayo, 2024.pdf
Feliz Día de la Madre - 5 de Mayo, 2024.pdfFeliz Día de la Madre - 5 de Mayo, 2024.pdf
Feliz Día de la Madre - 5 de Mayo, 2024.pdfMercedes Gonzalez
 
PROPUESTA COMERCIAL SENA ETAPA 2 ACTIVIDAD 3.pdf
PROPUESTA COMERCIAL SENA ETAPA 2 ACTIVIDAD 3.pdfPROPUESTA COMERCIAL SENA ETAPA 2 ACTIVIDAD 3.pdf
PROPUESTA COMERCIAL SENA ETAPA 2 ACTIVIDAD 3.pdfEduardoJosVargasCama1
 
TRABAJO FINAL TOPOGRAFÍA COMPLETO DE LA UPC
TRABAJO FINAL TOPOGRAFÍA COMPLETO DE LA UPCTRABAJO FINAL TOPOGRAFÍA COMPLETO DE LA UPC
TRABAJO FINAL TOPOGRAFÍA COMPLETO DE LA UPCCarlosEduardoSosa2
 
CONCURSO NACIONAL JOSE MARIA ARGUEDAS.pptx
CONCURSO NACIONAL JOSE MARIA ARGUEDAS.pptxCONCURSO NACIONAL JOSE MARIA ARGUEDAS.pptx
CONCURSO NACIONAL JOSE MARIA ARGUEDAS.pptxroberthirigoinvasque
 
La Evaluacion Formativa SM6 Ccesa007.pdf
La Evaluacion Formativa SM6  Ccesa007.pdfLa Evaluacion Formativa SM6  Ccesa007.pdf
La Evaluacion Formativa SM6 Ccesa007.pdfDemetrio Ccesa Rayme
 
PINTURA DEL RENACIMIENTO EN ESPAÑA (SIGLO XVI).ppt
PINTURA DEL RENACIMIENTO EN ESPAÑA (SIGLO XVI).pptPINTURA DEL RENACIMIENTO EN ESPAÑA (SIGLO XVI).ppt
PINTURA DEL RENACIMIENTO EN ESPAÑA (SIGLO XVI).pptAlberto Rubio
 
ACERTIJO LA RUTA DEL MARATÓN OLÍMPICO DEL NÚMERO PI EN PARÍS. Por JAVIER SOL...
ACERTIJO LA RUTA DEL MARATÓN OLÍMPICO DEL NÚMERO PI EN  PARÍS. Por JAVIER SOL...ACERTIJO LA RUTA DEL MARATÓN OLÍMPICO DEL NÚMERO PI EN  PARÍS. Por JAVIER SOL...
ACERTIJO LA RUTA DEL MARATÓN OLÍMPICO DEL NÚMERO PI EN PARÍS. Por JAVIER SOL...JAVIER SOLIS NOYOLA
 
TEMA 14.DERIVACIONES ECONÓMICAS, SOCIALES Y POLÍTICAS DEL PROCESO DE INTEGRAC...
TEMA 14.DERIVACIONES ECONÓMICAS, SOCIALES Y POLÍTICAS DEL PROCESO DE INTEGRAC...TEMA 14.DERIVACIONES ECONÓMICAS, SOCIALES Y POLÍTICAS DEL PROCESO DE INTEGRAC...
TEMA 14.DERIVACIONES ECONÓMICAS, SOCIALES Y POLÍTICAS DEL PROCESO DE INTEGRAC...jlorentemartos
 
Biografía de Charles Coulomb física .pdf
Biografía de Charles Coulomb física .pdfBiografía de Charles Coulomb física .pdf
Biografía de Charles Coulomb física .pdfGruberACaraballo
 

Último (20)

Supuestos_prácticos_funciones.docx
Supuestos_prácticos_funciones.docxSupuestos_prácticos_funciones.docx
Supuestos_prácticos_funciones.docx
 
prostitución en España: una mirada integral!
prostitución en España: una mirada integral!prostitución en España: una mirada integral!
prostitución en España: una mirada integral!
 
Usos y desusos de la inteligencia artificial en revistas científicas
Usos y desusos de la inteligencia artificial en revistas científicasUsos y desusos de la inteligencia artificial en revistas científicas
Usos y desusos de la inteligencia artificial en revistas científicas
 
La Sostenibilidad Corporativa. Administración Ambiental
La Sostenibilidad Corporativa. Administración AmbientalLa Sostenibilidad Corporativa. Administración Ambiental
La Sostenibilidad Corporativa. Administración Ambiental
 
Los dos testigos. Testifican de la Verdad
Los dos testigos. Testifican de la VerdadLos dos testigos. Testifican de la Verdad
Los dos testigos. Testifican de la Verdad
 
Posición astronómica y geográfica de Europa.pptx
Posición astronómica y geográfica de Europa.pptxPosición astronómica y geográfica de Europa.pptx
Posición astronómica y geográfica de Europa.pptx
 
Prueba libre de Geografía para obtención título Bachillerato - 2024
Prueba libre de Geografía para obtención título Bachillerato - 2024Prueba libre de Geografía para obtención título Bachillerato - 2024
Prueba libre de Geografía para obtención título Bachillerato - 2024
 
Lecciones 06 Esc. Sabática. Los dos testigos
Lecciones 06 Esc. Sabática. Los dos testigosLecciones 06 Esc. Sabática. Los dos testigos
Lecciones 06 Esc. Sabática. Los dos testigos
 
1ro Programación Anual D.P.C.C planificación anual del área para el desarroll...
1ro Programación Anual D.P.C.C planificación anual del área para el desarroll...1ro Programación Anual D.P.C.C planificación anual del área para el desarroll...
1ro Programación Anual D.P.C.C planificación anual del área para el desarroll...
 
Feliz Día de la Madre - 5 de Mayo, 2024.pdf
Feliz Día de la Madre - 5 de Mayo, 2024.pdfFeliz Día de la Madre - 5 de Mayo, 2024.pdf
Feliz Día de la Madre - 5 de Mayo, 2024.pdf
 
Tema 11. Dinámica de la hidrosfera 2024
Tema 11.  Dinámica de la hidrosfera 2024Tema 11.  Dinámica de la hidrosfera 2024
Tema 11. Dinámica de la hidrosfera 2024
 
PROPUESTA COMERCIAL SENA ETAPA 2 ACTIVIDAD 3.pdf
PROPUESTA COMERCIAL SENA ETAPA 2 ACTIVIDAD 3.pdfPROPUESTA COMERCIAL SENA ETAPA 2 ACTIVIDAD 3.pdf
PROPUESTA COMERCIAL SENA ETAPA 2 ACTIVIDAD 3.pdf
 
TRABAJO FINAL TOPOGRAFÍA COMPLETO DE LA UPC
TRABAJO FINAL TOPOGRAFÍA COMPLETO DE LA UPCTRABAJO FINAL TOPOGRAFÍA COMPLETO DE LA UPC
TRABAJO FINAL TOPOGRAFÍA COMPLETO DE LA UPC
 
CONCURSO NACIONAL JOSE MARIA ARGUEDAS.pptx
CONCURSO NACIONAL JOSE MARIA ARGUEDAS.pptxCONCURSO NACIONAL JOSE MARIA ARGUEDAS.pptx
CONCURSO NACIONAL JOSE MARIA ARGUEDAS.pptx
 
Sesión de clase APC: Los dos testigos.pdf
Sesión de clase APC: Los dos testigos.pdfSesión de clase APC: Los dos testigos.pdf
Sesión de clase APC: Los dos testigos.pdf
 
La Evaluacion Formativa SM6 Ccesa007.pdf
La Evaluacion Formativa SM6  Ccesa007.pdfLa Evaluacion Formativa SM6  Ccesa007.pdf
La Evaluacion Formativa SM6 Ccesa007.pdf
 
PINTURA DEL RENACIMIENTO EN ESPAÑA (SIGLO XVI).ppt
PINTURA DEL RENACIMIENTO EN ESPAÑA (SIGLO XVI).pptPINTURA DEL RENACIMIENTO EN ESPAÑA (SIGLO XVI).ppt
PINTURA DEL RENACIMIENTO EN ESPAÑA (SIGLO XVI).ppt
 
ACERTIJO LA RUTA DEL MARATÓN OLÍMPICO DEL NÚMERO PI EN PARÍS. Por JAVIER SOL...
ACERTIJO LA RUTA DEL MARATÓN OLÍMPICO DEL NÚMERO PI EN  PARÍS. Por JAVIER SOL...ACERTIJO LA RUTA DEL MARATÓN OLÍMPICO DEL NÚMERO PI EN  PARÍS. Por JAVIER SOL...
ACERTIJO LA RUTA DEL MARATÓN OLÍMPICO DEL NÚMERO PI EN PARÍS. Por JAVIER SOL...
 
TEMA 14.DERIVACIONES ECONÓMICAS, SOCIALES Y POLÍTICAS DEL PROCESO DE INTEGRAC...
TEMA 14.DERIVACIONES ECONÓMICAS, SOCIALES Y POLÍTICAS DEL PROCESO DE INTEGRAC...TEMA 14.DERIVACIONES ECONÓMICAS, SOCIALES Y POLÍTICAS DEL PROCESO DE INTEGRAC...
TEMA 14.DERIVACIONES ECONÓMICAS, SOCIALES Y POLÍTICAS DEL PROCESO DE INTEGRAC...
 
Biografía de Charles Coulomb física .pdf
Biografía de Charles Coulomb física .pdfBiografía de Charles Coulomb física .pdf
Biografía de Charles Coulomb física .pdf
 

Códigos

  • 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 ı