Documente Academic
Documente Profesional
Documente Cultură
Telecomunicaciones
Tema 14_1
Técnicas de tratamiento digital con códigos
detectores /correctores de error
1
Introducción
Códigos FEC
Código de Hamming
Código de bloques lineales
2
Introducción
3
Definición de FEC
4
Definición de FEC
5
Definición de FEC
6
Código Hamming
Ejemplo.
Se un dato de k=8 bits, por lo tanto r=4. Los bits de código se
colocan en potencias de dos:
k=(k0 k1 k2 k3 k4 k5 k6 k7)
C= C0 C1 C2 C3
n= C0 C1 k0 C2 k1 k2 k3 C3 k4 k5 k6 k7
Posición 1 2 3 4 5 6 7 8 9 10 11 12
C0 C1 k0 C2 k1 k2 k3 C3 k4 k5 k6 k7
20 21 22 23
7
Código Hamming
Cálculo de los Ci
Los Ci se calculan (si es paridad par) haciendo el XOR de los bits del dato
en cuya posición, el bit i de la misma coincida con el bit i de la posición del
Ci.
En caso de ser paridad impar se calculan del mismo modo pero se niega el
resultado. (Es decir si con paridad par C1=1 entonces con paridad impar
C1=0)
C0 = k0 ⊕ k1 ⊕ k3 ⊕ k4 ⊕ k6 = a (a=1 ó 0) (Paridad Par)
C0 = k0 ⊕ k1 ⊕ k3 ⊕ k4 ⊕ k6 = ā (a=1 ó 0) (Paridad Impar)
Bit de Validación Posiciones verificadas
C0 1,3,5,7,9,11,13,15,17, etc.
C1 2,3,67,10,11,14,15,18, 21,22, etc.
C2 4,5,6,7,12,13,14,15,20,21,22,23,etc.
C3 8,9,10,11,12,13,14,15,24,25,26,27,28, etc.
88
Código Hamming
Ejemplo
k =10110110 ⇒ k0 =1, k1 =0, k2 =1, k3 =1, k4 =0, k5 =1, k6 =1, k7 =0
Posición 1 2 3 4 5 6 7 8 9 10 11 12
C0 C1 1 C2 0 1 1 C3 0 1 1 0
20 21 22 23
Paridad Par
C0 = 1 ⊕ 0 ⊕ 1 ⊕ 0 ⊕ 1= 1 → C0 =1
C1 = 1 ⊕ 1 ⊕ 1 ⊕ 1 ⊕ 1 = 1 → C1 =1
C2 = 0 ⊕ 1 ⊕ 1 ⊕ 0 = 0 → C2 =0
C3 = 0 ⊕ 1 ⊕ 1 ⊕ 0 = 0 → C3 =0
9
Código Hamming
Luego:
Para determinar la posición del error es P(P3 P2 P1 P0) entonces:
10
Códigos de Bloques Lineales
11
Códigos de Bloques Lineales
σ k
n
σ = redundancia
12
k dígitos
2k mensajes
k=7, 2k = 128
13
Códigos de Bloques Lineales
14
Códigos de Bloques Lineales
Ejemplo de código lineal (7,4)
Mensajes Palabras código
( 0 0 0 0) (0000000)
( 1 0 0 0) (1101000)
( 0 1 0 0) (0110100)
Un código binario es lineal si la suma ( 1 1 0 0) (1011100)
de módulo 2 de dos palabras código es ( 0 0 1 0) (1110010)
también una palabra código. ( 0 1 1 0) (0011010)
La tabla muestra un código lineal ( 1 1 1 0) (1000110)
15
Códigos de Bloques Lineales
16
Códigos de Bloques Lineales
17
Forma del Bloque
18
Matriz Generadora G
EJEMPLO:
Sea código lineal (7,4) de la tabla anterior tiene
la siguiente matriz G (matriz generadora):
19
Forma Sistemática del Bloque
Tenemos que u= ( u0, u1,...,uk-1) es el mensaje que hay que codificar. Por
lo tanto, la palabra código correspondiente es:
v = ( v0 , v1 , v2 , ... , vn-1) = ( u0 , u1 , ... , uk-1) G
EJEMPLO
Si u = ( u0, u1, u2, u3) es el mensaje que hay que codificar, y v = ( v0, v1,
v2, v3, v4, v5, v6 ) es la correspondiente palabra código. Considerando la
matriz G y multiplicando las matrices obtenemos los dígitos de la
palabra código v:
v6 = u3 v5 = u2
v4 = u1 v3 = u0
v2 = u1 + u2 + u3 v1 = u0 + u1 + u2
v0 = u0 + u2 + u3
Por lo tanto la palabra código correspondiente a ( 1 0 1 1 ) es ( 1 0 0 1 0 1 1 )
20
Matriz de comprobación de paridad
Hay otra matriz útil asociada con cada código lineal de bloque. Como
ya se explicó en el tema anterior, para cada matriz G de dimensiones
k x n con k filas linealmente independientes, existe una matriz H de
dimensiones ( n - k ) x n con n - k filas linealmente independientes de
tal manera que cada vector en el espacio de las filas de G es ortogonal
a las filas de H y cada vector que es ortogonal a las filas de H esta en
el espacio de las filas de G .
Una n-tupla v es una palabra código en el código generado por G si y
sólo si
v HT = 0
H
H = [ In-k PT ] 21
Síndrome y detección de errores
22
Síndrome y detección de errores
s = r HT
s = 0 → el receptor acepta r como la palabra código transmitida
s ≠ 0 → r no es una palabra código , el receptor detecta la presencia de un
error.
23
Síndrome y detección de errores
EJEMPLO
Vamos a calcular el síndrome del código cuya matriz de comprobación
de paridad es la siguiente:
Si r = ( r0, r1, r2, r3, r4, r5, r6 ) es el vector recibido, el síndrome se calcula
de la siguiente manera:
24
Síndrome y detección de errores
25
Síndrome y detección de errores
Deducidas de s = eHT
26
Síndrome y detección de errores
v* = r + e = ( 1 0 0 1 0 0 1 ) + ( 0 0 0 0 0 1 0 ) = (
1 0 0 1 0 1 1 ).
27
FIN
28