Comunicaciones
Upcoming SlideShare
Loading in...5
×
 

Like this? Share it with your network

Share

Comunicaciones

on

  • 2,070 views

 

Statistics

Views

Total Views
2,070
Views on SlideShare
2,070
Embed Views
0

Actions

Likes
1
Downloads
35
Comments
0

0 Embeds 0

No embeds

Accessibility

Categories

Upload Details

Uploaded via as Microsoft PowerPoint

Usage Rights

© All Rights Reserved

Report content

Flagged as inappropriate Flag as inappropriate
Flag as inappropriate

Select your reason for flagging this presentation as inappropriate.

Cancel
  • Full Name Full Name Comment goes here.
    Are you sure you want to
    Your message goes here
    Processing…
Post Comment
Edit your comment

Comunicaciones Presentation Transcript

  • 1. COMUNICACIONES II
    CODIGOS DE BLOQUES LINEALES
    CODIGOS CONVOLUCIONALES
    Equipo 4:
    BECERRA JESUS
    MACHADO REGULO
    G-003-N
  • 2. INTRODUCCION
    La codificación del canal consiste en 'mapear' (añadir redundancia) la secuencia de datos entrante en una secuencia de entrada al canal y realizar el 'mapeo' inverso a la salida del canal en una secuencia de datos tal que los efectos del ruido estén minimizados.
    La introducción de redundancia en la codificación del canal tiene como finalidad mejorar la fiabilidad de la transmisión. Antes de continuar le refrescaremos algunos conceptos necesarios para un mejor entendimiento de los llamados códigos y algunas de sus diferencias existentes entre ellos.
  • 3.
    • TASA DE ERROR: Se define como la relación entre el número de bits erróneos recibidos respecto al número total de bits transmitidos. Una tasa de error aceptable para una transmisión es 10 elevado a la -6.
    • 4. TASA RESIDUAL DE ERROR: Se define como la relación entre el número de bits erróneos no detectados sobre el total de bits emitidos. Mide la capacidad de detectar errores.
    • 5. PESO DE HAMMING: El peso de Hamming W(c) de una palabra de código c se define como el número de bits de esa palabra diferentes de cero.
    • 6. DISTANCIA DE HAMMING: Es la distancia entre dos palabras de código de igual longitud y se define como el número de bits (posición a posición) en los que se diferencian las dos palabras.      También es necesario hacer una diferenciación entre los distintos tipos de códigos:
    • 7. CÓDIGOS SISTEMÁTICOS: aquellos códigos en los que la palabra de información aparece de forma explícita en la palabra codificada.
    • 8. CÓDIGOS NO SISTEMÁTICOS: aquellos códigos en los que la palabra de información no aparece de forma explícita en la palabra codificada.
    • 9. CÓDIGOS DE BLOQUE: (tienen el mismo significado que en el caso de la codificación de la fuente) aquellos códigos en los que todas las palabras tienen la misma longitud y la codificación se hace de forma estática.
    • 10. CÓDIGOS LINEALES: aquellos en los que cualquier combinación lineal de palabras de código válida (por ejemplo la suma módulo 2) produce otra palabra válida.
    • 11. CÓDIGOS CÍCLICOS: aquellos en los que cualquier desplazamiento cíclico de una palabra de código da lugar a otra palabra de código.
  • Representacion matricial de códigos bloques
    Asumimos que la salida de una fuente de información es una secuencia de dígitos binarios "0" o "1". En la codificación de bloque, esta secuencia de información binaria es segmentada en bloques de mensaje de una longitud fija; cada bloque de mensaje, llamado u, consiste de k dígitos de información. Hay un total de 2k mensajes distintos
  • 12. Código bloque lineal
    A un código bloque de longitud n y 2k palabras código se le llama código lineal (n,k) si y sólo si sus 2k palabras código forman un subespacio k-dimensional del espacio vectorial de las n-tuplas
    De hecho, un código binario es lineal si y sólo si la suma de módulo 2 de dos palabras código es también una palabra código
  • 13. Representacion matricial de códigos bloques
    Dado que un código lineal (n,k) C es un subespacio k-dimensional del espacio de vectores Vn de las n-tuplas binarias, es posible encontrar k palabras código linealmente independientes, g0, g1,..., gk-1 en C, de tal forma que cada palabra código v en C es una combinación lineal de esas k palabras código:
    v = u0 g0 + u1 g1 + ... + uk-1 gk-1
    Donde ui= 0 ó 1 para i mayor igual que cero y menor que k. Ahora vamos a colocar estas k palabras códigos linealmente independientes como las filas de una matriz k x n:
  • 14. Representacion matricial de códigos bloques
  • 15. Forma sistemática de una palabra código:
  • 16. Síndrome de descodificación y detección de errores.
    Consideramos un código lineal (n,k) con su matriz generadora G y su matriz de comprobación de paridad H. Sea v una palabra código que se transmite en un canal ruidoso, y r es el vector recibido a la salida del canal.Debido a que el canal es ruidoso, r puede ser distinto de v
  • 17. El vector suma de r y v es e; e es una n-tupla tal que ei=1 si ri es distinto de vi y ei=0 si ri=vi. A esta n-tupla se le llama vector de error. Los 1's que aparecen en e son errores de transmisión producidos porque el canal es ruidoso.
    El receptor recibe r que es la suma de la palabra código transmitida y el vector de error. Cuando recibe r, el decodificador debe determinar si contiene errores de transmisión. Si se detectan errores, el decodificador intentará corregirlos (FEC) o pedirá una retransmisión (ARQ)
    Cuando se recibe r, el decodificador calcula la siguiente (n-k)-tupla:
    s = r HT = ( s0, s1,..., sn-k-1 ), esta n-tupla es el sindrome de r.
  • 18. Códigos cíclicos
    Los códigos cíclicos también se llaman CRC (Códigos de Redundancia Cíclica) o códigos polinomios. Su uso está muy extendido porque pueden implementarse en hardware.
    Estos códigos se basan en el uso de un polinomio generador G(X) de grado r, y en el principio de que n bits de datos binarios se pueden considerar como los coeficientes de un polinomio de orden n-1.
    Por ejemplo, los datos 10111 pueden tratarse como el polinomio x4 + x2 + x1 + x0
    A estos bits de datos se le añaden r bits de redundancia de forma que el polinomio resultante sea divisible por el polinomio generador, sin generar resto.
    El receptor verificará si el polinomio recibido es divisible por G(X). Si no lo es, habrá un error en la transmisión.
  • 19. CODIGOS CONVOLUCIONALES
    Se diferecian de los códigos de bloque en su forma estructural y las propiedades para corregir errores.       Los códigos de bloque suelen tener limitada la capacidad de corrección de errores alrededor de 1 o 2 símbolos erróneos por palabra de código. Estos códigos son buenos para utilizar en canales con baja probabilidad de error.       Los códigos convolucionales son adecuados para usar sobre canales con mucho ruido (alta probabilidad de error).       Los códigos convolucionales son códigos lineales, donde la suma de dos palabras de código cualesquiera también es una palabra de código. Y al contrario que con los códigos lineales, se prefieren los códigos no sistemáticos.       El sistema tiene memoria: la codificación actual depende de los datos que se envían ahora y que se enviaron en el pasado.      Un código convolucional queda especificado por tres parámetros (n,k,m):                         n es el número de bits de la palabra codificada                         k es el número de bits de la palabra de datos                         m es la memoria del código o longitud restringida
  • 20. Ejemplos
                 - Código (2,1,3)                          - la palabra codificada tiene 2 bits de longitud                          - la entrada son bloques de 1 bit                          - la salida depende de los dos bloques anteriores y del actual             - Código (4,2,3)                          - la palabra codificada tiene 4 bits de longitud                          - la entrada son bloques de 2 bit                          - la salida depende de los dos bloques anteriores y del ac
  • 21. - Proceso de codificación      El proceso de codificación de estos códigos se realiza utilizando un dispositivo lógico en el codificador.      Ejemplo: Codificador convolucional (4,3,5)
  • 22.       La palabra codificada se obtendría como el resultado de realizar una serie de operaciones lógicas entre determinados bits que están almacenados en los registros intermedios.      Ejemplo: Codificador convolucional (2,1,3)
  • 23.       - El conmutador con las dos entradas hace el papel de un registro de desplazamiento de dos         estados.      - El código convolucional es generado introduciendo un bit de datos y dando una revolución         completa al conmutador.      - Inicialmente se supone que los registros intermedios contienen ceros.      En este ejemplo la palabra codificada se obtiene como resultado de sumas módulo-2 entre los bits indicados que están almacenados en los registros intermedios.      Las secuencias de salida para el código anteriormente descrito:
          Como ejemplo del funcionamiento de este codificador, supongamos que se quiere enviar la secuencia de bits 0101 (donde los bits más a la derecha son los más antiguos). El proceso de codficación es el siguiente:      - Se introduce el primer bit de la secuencia en el codificador:
  • 24.       Como ejemplo del funcionamiento de este codificador, supongamos que se quiere enviar la secuencia de bits 0101 (donde los bits más a la derecha son los más antiguos). El proceso de codficación es el siguiente:      - Se introduce el primer bit de la secuencia en el codificador:
          - Se introduce el segundo bit de la secuencia en el codificador:
  • 25. - Se introduce el tercer bit de la secuencia en el codificador:
          - Se introduce el cuarto bit de la secuencia en el codificador:
    Al final del proceso de codificación obtenemos que la secuencia codificada es 01 01 01 11.