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

Lecture 18 channel capacity
Lecture 18 channel capacityLecture 18 channel capacity
Lecture 18 channel capacity
nica2009
 
Lecture 9 codificación de línea y psd
Lecture 9 codificación de línea y psdLecture 9 codificación de línea y psd
Lecture 9 codificación de línea y psd
nica2009
 
Lecture 6 formateo de señales en pcm
Lecture 6 formateo de señales en pcmLecture 6 formateo de señales en pcm
Lecture 6 formateo de señales en pcm
nica2009
 
Codigo de bloques lineales
Codigo de bloques linealesCodigo de bloques lineales
Codigo de bloques lineales
Comunicaciones2
 
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
Oscar Javier Jimenez Revelo
 
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
nica2009
 
Frecuencia modulada (FM) UAS
Frecuencia modulada (FM) UASFrecuencia modulada (FM) UAS
Frecuencia modulada (FM) UAS
Ignacio Velasco
 
Lecture 3 codificación fuente
Lecture 3 codificación fuenteLecture 3 codificación fuente
Lecture 3 codificación fuente
nica2009
 
Modulación por código de pulso
Modulación por código de pulsoModulación por código de pulso
Modulación por código de pulso
Anita López
 
Lecture 10 isi and eye pattern
Lecture 10 isi and eye patternLecture 10 isi and eye pattern
Lecture 10 isi and eye pattern
nica2009
 
CaracteríSticas Atsc
CaracteríSticas AtscCaracteríSticas Atsc
CaracteríSticas Atsc
mariteramis
 
8 modulaciones ask, fsk, psk y qam
8  modulaciones ask, fsk, psk y qam8  modulaciones ask, fsk, psk y qam
8 modulaciones ask, fsk, psk y qam
Pablo Miranda
 
Codigos Corrector de Errores
Codigos Corrector de ErroresCodigos Corrector de Errores
Codigos Corrector de Errores
Walter Toledo
 

La actualidad más candente (20)

Compresion de Datos - Telecomunicaciones III
Compresion de Datos - Telecomunicaciones IIICompresion de Datos - Telecomunicaciones III
Compresion de Datos - Telecomunicaciones III
 
Lecture 18 channel capacity
Lecture 18 channel capacityLecture 18 channel capacity
Lecture 18 channel capacity
 
Lecture 9 codificación de línea y psd
Lecture 9 codificación de línea y psdLecture 9 codificación de línea y psd
Lecture 9 codificación de línea y psd
 
Tecnicas MIC
Tecnicas MICTecnicas MIC
Tecnicas MIC
 
Modulacion pcm
Modulacion pcmModulacion pcm
Modulacion pcm
 
Lecture 6 formateo de señales en pcm
Lecture 6 formateo de señales en pcmLecture 6 formateo de señales en pcm
Lecture 6 formateo de señales en pcm
 
Codigo de bloques lineales
Codigo de bloques linealesCodigo de bloques lineales
Codigo de bloques lineales
 
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
 
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
 
Frecuencia modulada (FM) UAS
Frecuencia modulada (FM) UASFrecuencia modulada (FM) UAS
Frecuencia modulada (FM) UAS
 
Multiplexación por división de frecuencia (FDM)
Multiplexación por división  de frecuencia (FDM)Multiplexación por división  de frecuencia (FDM)
Multiplexación por división de frecuencia (FDM)
 
Lecture 3 codificación fuente
Lecture 3 codificación fuenteLecture 3 codificación fuente
Lecture 3 codificación fuente
 
Modulación por código de pulso
Modulación por código de pulsoModulación por código de pulso
Modulación por código de pulso
 
Ruido en telecomunicaciones
Ruido en telecomunicacionesRuido en telecomunicaciones
Ruido en telecomunicaciones
 
Lecture 10 isi and eye pattern
Lecture 10 isi and eye patternLecture 10 isi and eye pattern
Lecture 10 isi and eye pattern
 
Turbo code
Turbo codeTurbo code
Turbo code
 
Exposicion hdb3.pptx
Exposicion hdb3.pptxExposicion hdb3.pptx
Exposicion hdb3.pptx
 
CaracteríSticas Atsc
CaracteríSticas AtscCaracteríSticas Atsc
CaracteríSticas Atsc
 
8 modulaciones ask, fsk, psk y qam
8  modulaciones ask, fsk, psk y qam8  modulaciones ask, fsk, psk y qam
8 modulaciones ask, fsk, psk y qam
 
Codigos Corrector de Errores
Codigos Corrector de ErroresCodigos Corrector de Errores
Codigos Corrector de Errores
 

Destacado

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_corriente
liss12345
 
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
 
Codificación y sus tecnicas
Codificación y sus tecnicasCodificación y sus tecnicas
Codificación y sus tecnicas
kevinluchi
 
Plan unico de cuentas
Plan unico de cuentasPlan unico de cuentas
Plan unico de cuentas
UNEG
 

Destacado (20)

Procesador de errores
Procesador de erroresProcesador de errores
Procesador de errores
 
Tema 4 codificación de canal
Tema 4   codificación de canalTema 4   codificación de canal
Tema 4 codificación de canal
 
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
 
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
 
CODIGO DE HUFFMAN
CODIGO DE HUFFMANCODIGO DE HUFFMAN
CODIGO DE HUFFMAN
 
Trellis Y Viterbi
Trellis Y ViterbiTrellis Y Viterbi
Trellis Y Viterbi
 
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

Trabajo practico n° 7 8
Trabajo practico n° 7   8Trabajo practico n° 7   8
Trabajo practico n° 7 8
myriankintana
 
sistemas digitales
 sistemas digitales  sistemas digitales
sistemas digitales
itzamani
 

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

NUEVAS DIAPOSITIVAS POSGRADO Gestion Publica.pdf
NUEVAS DIAPOSITIVAS POSGRADO Gestion Publica.pdfNUEVAS DIAPOSITIVAS POSGRADO Gestion Publica.pdf
NUEVAS DIAPOSITIVAS POSGRADO Gestion Publica.pdf
UPTAIDELTACHIRA
 
6°_GRADO_-_MAYO_06 para sexto grado de primaria
6°_GRADO_-_MAYO_06 para sexto grado de primaria6°_GRADO_-_MAYO_06 para sexto grado de primaria
6°_GRADO_-_MAYO_06 para sexto grado de primaria
Wilian24
 
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
 
2 REGLAMENTO RM 0912-2024 DE MODALIDADES DE GRADUACIÓN_.pptx
2 REGLAMENTO RM 0912-2024 DE MODALIDADES DE GRADUACIÓN_.pptx2 REGLAMENTO RM 0912-2024 DE MODALIDADES DE GRADUACIÓN_.pptx
2 REGLAMENTO RM 0912-2024 DE MODALIDADES DE GRADUACIÓN_.pptx
RigoTito
 
FORTI-MAYO 2024.pdf.CIENCIA,EDUCACION,CULTURA
FORTI-MAYO 2024.pdf.CIENCIA,EDUCACION,CULTURAFORTI-MAYO 2024.pdf.CIENCIA,EDUCACION,CULTURA
FORTI-MAYO 2024.pdf.CIENCIA,EDUCACION,CULTURA
El Fortí
 

Último (20)

NUEVAS DIAPOSITIVAS POSGRADO Gestion Publica.pdf
NUEVAS DIAPOSITIVAS POSGRADO Gestion Publica.pdfNUEVAS DIAPOSITIVAS POSGRADO Gestion Publica.pdf
NUEVAS DIAPOSITIVAS POSGRADO Gestion Publica.pdf
 
CONCURSO NACIONAL JOSE MARIA ARGUEDAS.pptx
CONCURSO NACIONAL JOSE MARIA ARGUEDAS.pptxCONCURSO NACIONAL JOSE MARIA ARGUEDAS.pptx
CONCURSO NACIONAL JOSE MARIA ARGUEDAS.pptx
 
6°_GRADO_-_MAYO_06 para sexto grado de primaria
6°_GRADO_-_MAYO_06 para sexto grado de primaria6°_GRADO_-_MAYO_06 para sexto grado de primaria
6°_GRADO_-_MAYO_06 para sexto grado de primaria
 
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...
 
SEPTIMO SEGUNDO PERIODO EMPRENDIMIENTO VS
SEPTIMO SEGUNDO PERIODO EMPRENDIMIENTO VSSEPTIMO SEGUNDO PERIODO EMPRENDIMIENTO VS
SEPTIMO SEGUNDO PERIODO EMPRENDIMIENTO VS
 
Tema 10. Dinámica y funciones de la Atmosfera 2024
Tema 10. Dinámica y funciones de la Atmosfera 2024Tema 10. Dinámica y funciones de la Atmosfera 2024
Tema 10. Dinámica y funciones de la Atmosfera 2024
 
2 REGLAMENTO RM 0912-2024 DE MODALIDADES DE GRADUACIÓN_.pptx
2 REGLAMENTO RM 0912-2024 DE MODALIDADES DE GRADUACIÓN_.pptx2 REGLAMENTO RM 0912-2024 DE MODALIDADES DE GRADUACIÓN_.pptx
2 REGLAMENTO RM 0912-2024 DE MODALIDADES DE GRADUACIÓN_.pptx
 
FORTI-MAYO 2024.pdf.CIENCIA,EDUCACION,CULTURA
FORTI-MAYO 2024.pdf.CIENCIA,EDUCACION,CULTURAFORTI-MAYO 2024.pdf.CIENCIA,EDUCACION,CULTURA
FORTI-MAYO 2024.pdf.CIENCIA,EDUCACION,CULTURA
 
PLAN DE REFUERZO ESCOLAR MERC 2024-2.docx
PLAN DE REFUERZO ESCOLAR MERC 2024-2.docxPLAN DE REFUERZO ESCOLAR MERC 2024-2.docx
PLAN DE REFUERZO ESCOLAR MERC 2024-2.docx
 
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
 
TIENDAS MASS MINIMARKET ESTUDIO DE MERCADO
TIENDAS MASS MINIMARKET ESTUDIO DE MERCADOTIENDAS MASS MINIMARKET ESTUDIO DE MERCADO
TIENDAS MASS MINIMARKET ESTUDIO DE MERCADO
 
Revista Apuntes de Historia. Mayo 2024.pdf
Revista Apuntes de Historia. Mayo 2024.pdfRevista Apuntes de Historia. Mayo 2024.pdf
Revista Apuntes de Historia. Mayo 2024.pdf
 
LA LITERATURA DEL BARROCO 2023-2024pptx.pptx
LA LITERATURA DEL BARROCO 2023-2024pptx.pptxLA LITERATURA DEL BARROCO 2023-2024pptx.pptx
LA LITERATURA DEL BARROCO 2023-2024pptx.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
 
Power Point: Fe contra todo pronóstico.pptx
Power Point: Fe contra todo pronóstico.pptxPower Point: Fe contra todo pronóstico.pptx
Power Point: Fe contra todo pronóstico.pptx
 
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
 
INSTRUCCION PREPARATORIA DE TIRO .pptx
INSTRUCCION PREPARATORIA DE TIRO   .pptxINSTRUCCION PREPARATORIA DE TIRO   .pptx
INSTRUCCION PREPARATORIA DE TIRO .pptx
 
Infografía EE con pie del 2023 (3)-1.pdf
Infografía EE con pie del 2023 (3)-1.pdfInfografía EE con pie del 2023 (3)-1.pdf
Infografía EE con pie del 2023 (3)-1.pdf
 
Análisis de los Factores Externos de la Organización.
Análisis de los Factores Externos de la Organización.Análisis de los Factores Externos de la Organización.
Análisis de los Factores Externos de la Organización.
 
FUERZA Y MOVIMIENTO ciencias cuarto basico.ppt
FUERZA Y MOVIMIENTO ciencias cuarto basico.pptFUERZA Y MOVIMIENTO ciencias cuarto basico.ppt
FUERZA Y MOVIMIENTO ciencias cuarto basico.ppt
 

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 ı