Download - Veure perfil
![Page 1: Veure perfil](https://reader033.vdocuments.pub/reader033/viewer/2022051318/5849269e1a28abc11a8b5513/html5/thumbnails/1.jpg)
Codificación de Canal. Transmisión de Datos.Codificación de Canal. Transmisión de Datos.
Codificación de Canal
Mónica Aguilar Igartua
![Page 2: Veure perfil](https://reader033.vdocuments.pub/reader033/viewer/2022051318/5849269e1a28abc11a8b5513/html5/thumbnails/2.jpg)
22/33/33Codificación de Canal. Transmisión de Datos.Codificación de Canal. Transmisión de Datos.
Índice
• Resumen fundamentos de codificación de canal• Códigos bloque
– Código Lineal.
– Matrices generadora y de comprobación.
– Distancia mínima de un código.
– Redundancia mínima para una capacidad correctora/detectora determinada.
– Probabilidad de error residual.
– Eficiencia de un código.
– Códigos e-perfectos.
– Códigos de Hamming.
– Código ISBN.
– Códigos cíclicos y polinómicos.
![Page 3: Veure perfil](https://reader033.vdocuments.pub/reader033/viewer/2022051318/5849269e1a28abc11a8b5513/html5/thumbnails/3.jpg)
33/33/33Codificación de Canal. Transmisión de Datos.Codificación de Canal. Transmisión de Datos.
Fundamentos de Codificación de Canal
• Objetivos de la transmisión digital de la información:
• Codificación de canal:
– Transmisión fiable (control de errores)
– Transmisión rápida (compresión)
– Transmisión segura (autenticidad, privacidad)
→ Codificación de canal
→ Codificación de fuente
→ Criptografía
– Protege la información frente a degradaciones del canal.
– Añade redundancia de forma inteligente.
– Detecta y/o corrige errores que produce el canal.
![Page 4: Veure perfil](https://reader033.vdocuments.pub/reader033/viewer/2022051318/5849269e1a28abc11a8b5513/html5/thumbnails/4.jpg)
44/33/33Codificación de Canal. Transmisión de Datos.Codificación de Canal. Transmisión de Datos.
Fundamentos de Codificación de Canal
• Ubicación del codificador/decodificador de canal en el Sistema de Transmisión de Datos:
Decodificaciónde canal
FuenteEquivalente
Codificaciónde canal
Destino MapeoInverso
Mapeo Modulación
Demodulación
Canal
Canal discreto equivalente
![Page 5: Veure perfil](https://reader033.vdocuments.pub/reader033/viewer/2022051318/5849269e1a28abc11a8b5513/html5/thumbnails/5.jpg)
55/33/33Codificación de Canal. Transmisión de Datos.Codificación de Canal. Transmisión de Datos.
Fundamentos de Codificación de Canal
• Estrategias de uso:
• Clasificación en función de cómo se introduce la redundancia:
– Detectora: ARQ (Automatic Repeat Request), solicitud automática de re-envío.
– Correctora: FEC (Forward Error Correction), corrige a partir de la información recibida.
– Códigos Convolucionales
– Códigos Bloque
⇒ De forma continua a medida que llega la información al codificador
⇒ Asociada a bloques de información
Códigox(i) y(i)
CódigoX Y
![Page 6: Veure perfil](https://reader033.vdocuments.pub/reader033/viewer/2022051318/5849269e1a28abc11a8b5513/html5/thumbnails/6.jpg)
66/33/33Codificación de Canal. Transmisión de Datos.Codificación de Canal. Transmisión de Datos.
Codificación de Bloque
X(x(1), …, x(k))
Y(y(1), …, y(n))
Z(z(1), …, z(n))
X(x(1), …, x(k))Canal
discretoequivalente
Codificadorde canal
Decodificadorde canal
X (k digitos)Mensaje de usuario
Y (n digitos, n>k)Palabra código
Z (n digitos)Palabra recibida
X (k digitos)Mensaje estimado
Código (n, k) →→ Redundancia = r = n-k
x(i) ∈ alfabeto de q símbolos
Para ser útil
• Aplicación biyectiva.– qk palabras código distintas.
• Código Lineal.
– se reduce la complejidad del código.
• Estructura sistemática de la palabra código.
– extraer de inmediato el mensaje de usuario.
X
qk
Codificador
Código Bloque
Y
qk
qn
k r
mensaje redundanciapalabra, n dígitos
![Page 7: Veure perfil](https://reader033.vdocuments.pub/reader033/viewer/2022051318/5849269e1a28abc11a8b5513/html5/thumbnails/7.jpg)
77/33/33Codificación de Canal. Transmisión de Datos.Codificación de Canal. Transmisión de Datos.
Código Lineal de Bloque
El código bloque de qk palabras código (de longitud n) es un Código Lineal Bloque
(n, k) si y sólo si tiene estructura de subespacio vectorial k-dimensional (del espacio
vectorial formado por las n-tuplas) sobre un Cuerpo de Galois (GF).
• El Codificador se elige de tal manera que sea una aplicación lineal:
X1 → Y1
X2 → Y2c1 ⋅ X1 + c2 ⋅ X2 → c1 ⋅ Y1 + c2 ⋅ Y2
c1, c2 ∈ GF
{ {000001010011100101110111
00011011
01 ⊕ 11 = 10 → 101
011 ⊕ 110 = 101
Ejemplo:
Conjunto finito de elementos con los cuales se opera comocon los números reales. Consideraremos GF(2).
![Page 8: Veure perfil](https://reader033.vdocuments.pub/reader033/viewer/2022051318/5849269e1a28abc11a8b5513/html5/thumbnails/8.jpg)
88/33/33Codificación de Canal. Transmisión de Datos.Codificación de Canal. Transmisión de Datos.
Matriz Generadora del Código Lineal de Bloque, G
• Del Código Lineal (n, k) hallamos k palabras código lin. indep. (g1, g2, ..., gk) → Base
Cada palabra código Y es una combinación lineal de esas k palabras código:
k=3 → Y = x1·g1 + x2·g2 + x3·g3 , xi = {0, 1}
=
=
knkk
n
k
ggg
ggg
g
g
g
kxn
K
MMM
K
M21
112112
1
)G(X = (x1, x2, ..., xk) ⇒ Y = X · G
• Matriz Generadora del Código
• Todo mensaje de usuario X puede expresarse como combinación lineal de una base:
X = (x1, x2, x3) = x1· (100) + x2· (010) + x3· (001)
• El código queda determinado conociendo la codificación de una base del conjunto de
mensajes de usuario, X: (100) → (g11 g12 ... g1n) = g1(010) → (g21 g22 ... g2n) = g2(001) → (g31 g32 ... g3n) = g3
![Page 9: Veure perfil](https://reader033.vdocuments.pub/reader033/viewer/2022051318/5849269e1a28abc11a8b5513/html5/thumbnails/9.jpg)
99/33/33Codificación de Canal. Transmisión de Datos.Codificación de Canal. Transmisión de Datos.
Código Lineal Sistemático de Bloque
• Un código lineal (n, k) SISTEMÁTICO de bloque queda definido por una matriz G(kxn):
( ))P( I
pp
p
pp
100
010
001
)(G
krk1
21
1r11
kxrkxn k=
=M
L
K
MOM
L
k r
palabra, n dígitos
mensaje redundancia• Estructura Sistemática
• Ejemplo:
Código de paridad.
k=2, n=3.
00011011
00011011
0110
=
=
1
1 I
1
1
10
01)3x2(G 2
⇒ r=n-k=1
![Page 10: Veure perfil](https://reader033.vdocuments.pub/reader033/viewer/2022051318/5849269e1a28abc11a8b5513/html5/thumbnails/10.jpg)
1010/33/33Codificación de Canal. Transmisión de Datos.Codificación de Canal. Transmisión de Datos.
Detección/corrección de errores
• ¿Cómo detectar errores?
X(x(1), …, x(k))
Y(y(1), …, y(n))
Z(z(1), …, z(n))Canal discreto
equivalenteCodificador
de canalDecodificador
de canal
Y=X·G
?
• Si Z ≠ Y ⇒ ERROR. Pero Y no es conocida en recepción!
• Si Z ∉ código ⇒ ERROR. Es cierto.
• Si Z ∈ código ⇒ NO ERROR. Es una suposición: puede que el error haya transformado
una palabra código en otra! Diseñar el Código para que sea poco probable.
• ¿Cómo saber si Z ∈ a un código C? ⇒ Comparar Z con todas las Y del código. Ineficaz si k es grande!
• Una palabra Z ∈ a un código C si es ⊥ a C⊥ , subespacio vectorial ⊥ a C.
![Page 11: Veure perfil](https://reader033.vdocuments.pub/reader033/viewer/2022051318/5849269e1a28abc11a8b5513/html5/thumbnails/11.jpg)
1111/33/33Codificación de Canal. Transmisión de Datos.Codificación de Canal. Transmisión de Datos.
• Un código lineal de bloque (n, k) tiene asociada otra matriz H(rxn):
Matriz de Comprobación del Código Lineal de Bloque, H
2n palabras Z
Código C: 2k palabras Y
Subespacio vectorial ortogonal a C
=
=
nr r1
2n21
1n11
r
2
1
hh
hh
hh
h
h
h
)(H
L
MM
L
L
Mrxn
G(kxn)
gi
H(rxn)
hj gi ⊥ hj ⇒ gi · hj = 0
Y·HT = 0
G·HT = 0
Matriz de Comprobación del Código
![Page 12: Veure perfil](https://reader033.vdocuments.pub/reader033/viewer/2022051318/5849269e1a28abc11a8b5513/html5/thumbnails/12.jpg)
1212/33/33Codificación de Canal. Transmisión de Datos.Codificación de Canal. Transmisión de Datos.
• En un código lineal de bloque (n, k) SISTEMÁTICO, la matriz H es de la forma:
Matriz de Comprobación del Código Lineal de Bloque, H
G(kxn) = ( Ik | P(kxr) )
G ·HT = 0 ⇒ HT = ⇒ H(rxn) = ( -PT | Ir)-P Ir
Nota: En GF(2) , 1+1=0, -1≡1, -P≡P
• Ejemplo:
Código de paridad. k = 2, n = 3 ⇒ r = n - k = 1
( ) ( ) ( )111I11H(1x3) P(2x1) I1
1
10
01)3x2(G 12 ==⇒=
=
Z = 011 → Z · HT = (011) · = 0
Z ∈ C
111
Z = 001 → Z · HT = (001) · = 1 ≠ 0
Z ∉ C
111
![Page 13: Veure perfil](https://reader033.vdocuments.pub/reader033/viewer/2022051318/5849269e1a28abc11a8b5513/html5/thumbnails/13.jpg)
1313/33/33Codificación de Canal. Transmisión de Datos.Codificación de Canal. Transmisión de Datos.
• Sea un código lineal de bloque (n, k) sistemático del que conocemos sus matrices G y H.
• Sea Y una palabra código que se transmite por un canal ruidoso.
• Se recibe la palabra Z.
• Z = Y + e
• e = (e1, ..., en) con
• Una vez que se ha obtenido e ⇒
• SÍNDROME de Z: s = Z·HT → s = (s1, ..., sr) →
• s = Z·HT = (Y+ e ) ·HT = Y·HT + e ·HT = e ·HT
Síndrome y detección de errores
Y Zcanal
e, vector de error
ei = 1 si Zi ≠ Yi
ei = 0 si Zi = Yi
si Z·HT = 0 → s = 0 ⇒ No error(*)
si Z·HT ≠ 0 → s ≠ 0 ⇒ Error
Y = Z + e
s = e ·HT(*) ¿Es posible que Z sea errónea siendo s=0?
- Si e ∈C, e≠0 ⇒ Z=Y+e ⇒ Z ∈C ⇒ s=0
- Hay 2k-1 palabras código ≠ 0 ⇒ Hay 2k-1 errores no detectables
![Page 14: Veure perfil](https://reader033.vdocuments.pub/reader033/viewer/2022051318/5849269e1a28abc11a8b5513/html5/thumbnails/14.jpg)
1414/33/33Codificación de Canal. Transmisión de Datos.Codificación de Canal. Transmisión de Datos.
• Para obtener e, basta con resolver r ecuaciones lineales, ¡con n incógnitas!
• Hay n - r = k grados de libertad.
Síndrome y detección de errores
s = e ·HT ( )
⋅=
nr n 2n 1
2r 2212
1r 2111
n21r21
hhh
hhh
hhh
)e ..., ,e ,e(s ..., ,s ,s
L
MMM
L
L
• Para minimizar la probabilidad de error, se elige el error e más probable.
• Regla de decisión para corregir errores: ¿Cómo determinar Y a partir de Z recibida?
• Distancia d(Y, Z) mínima → Depende del Modelo de Canal.
• Hay 2k soluciones, es decir hay 2k errores que producen igual síndrome:
![Page 15: Veure perfil](https://reader033.vdocuments.pub/reader033/viewer/2022051318/5849269e1a28abc11a8b5513/html5/thumbnails/15.jpg)
1515/33/33Codificación de Canal. Transmisión de Datos.Codificación de Canal. Transmisión de Datos.
• Canal Binario Simétrico (BSC)
Modelo de Canal
canalY Z
– errores aleatorios e independientes– no hay ráfagas de errores
yi = 0 zi = 0p
1-p
yi = 1 zi = 1p
1-pCanal discreto equivalente p = Prob. error bit
• Distancia, d(Y, Z) = Nº de bits diferentes entre Z e Y = Distancia de Hamming =
= Peso (nº bits =1) de la suma = W(Y+Z)
Canal sin
memoria
• Ejemplo: Código de paridad. k=2, n=3
Y1 000
Y2 011
Y3 101
Y4 110
d(Y1, Y4 )=W(000+110)=W(110)=2
d(Y2, Y3 )=W(011+101)=W(110)=2
ya
yb
yc
Y1
Y4
1
1
Y2
Y3
1
1
√2
√2
distancias de Hamming
distancias Euclídeas
![Page 16: Veure perfil](https://reader033.vdocuments.pub/reader033/viewer/2022051318/5849269e1a28abc11a8b5513/html5/thumbnails/16.jpg)
1616/33/33Codificación de Canal. Transmisión de Datos.Codificación de Canal. Transmisión de Datos.
• Canal con memoria. Se producen ráfagas de errores ⇒ ENTRELAZADO:• Ejemplo:
Modelo de Canal
– Canal b) necesita código con capacidad correctora 3 ⇒ Es necesaria una redundancia ≥ 6– Canal a) necesita código con capacidad correctora 1 ⇒ Es necesaria una redundancia ≥ 2.
– Diseñar código para canal del tipo a), pero procesar las Y antes de enviarlas al canal con memoria.
a)
b)
...
...
X X X X X
X X X X X
Y1 Y2 Y3 Y4 Y5
1 2 3 4 5 6 7 8 9 10 11 12
n = 4
códigoX Y
Y1
Y2
Y3
Y4
Y5
1 2 3 4
5 6 7 8X
X
X
X
X
n = 4
D = profundidad de entrelazado
D ≥ Longitud media ráfaga
Aumenta el retardo
¿Qué valor debe tener D?
¿Qué problema surge?
canal
![Page 17: Veure perfil](https://reader033.vdocuments.pub/reader033/viewer/2022051318/5849269e1a28abc11a8b5513/html5/thumbnails/17.jpg)
1717/33/33Codificación de Canal. Transmisión de Datos.Codificación de Canal. Transmisión de Datos.
• Distancia de Hamming = d(Y, Z) = W(Y+Z)
• Dado un código C lineal de bloque (n, k), su distancia mínima dmín se define como:
Distancia mínima de un código
dmín = mín. d(Yi, Yj), con Yi, Yj ∈ C, i≠j
• Dado que C es un subespacio vectorial, Yi + Yj es otra palabra código, por tanto:
dmín = mín. W(Yk) = Wmín ⇒ El menor de los pesos de todas las YYk≠0
Y1 000
Y2 011
Y3 101
Y4 110
• Ejemplo: Código de paridad. k=2, n=3
W2 = 2
W3 = 2
W4 = 2
⇒ Wmín = 2 = dmín
¿Qué relación guarda la dmín de un Códigocon su capacidad detectora y correctora de errores?
![Page 18: Veure perfil](https://reader033.vdocuments.pub/reader033/viewer/2022051318/5849269e1a28abc11a8b5513/html5/thumbnails/18.jpg)
1818/33/33Codificación de Canal. Transmisión de Datos.Codificación de Canal. Transmisión de Datos.
• Ejemplo:
Capacidad correctora/detectora de un código
e = 3δ = 6
Yi
Yj
dmín = 7
Z
Capacidad correctorade errores
Capacidad detectorade errores
=
2
1-de min
1-d min=δ
1e2dmin +⋅≥ 1 dmin +≥ δ
• BORRÓN:
canalY Z
{0, 1} {0, 1, #}
– Indica incertidumbre en su valor
– Corregir un error ⇒
– Conocemos la posición
– Mayor facilidad de corrección
Capacidad correctorade borrones
1 dmin +≥ ρ
- dónde?- valor?
1-d min=ρ
![Page 19: Veure perfil](https://reader033.vdocuments.pub/reader033/viewer/2022051318/5849269e1a28abc11a8b5513/html5/thumbnails/19.jpg)
1919/33/33Codificación de Canal. Transmisión de Datos.Codificación de Canal. Transmisión de Datos.
• REDUNDANCIA: ¿Cuál es el valor mínimo de r para garantizar una cierta capacidad correctora? ⇒ planteemos un caso extremo.
Redundancia y Probabilidad de error residual
– Ejemplo: Código lineal de bloque (5, 3) sistemático, que consiste en añadir 1’s al mensaje de usuario.
n=5k=3
⇒ r = n-k = 2
k=3 r=2
⇒ dmín = 1 + r
– En general, dmín ≤ r + 1 ⇒ dmín ≥ 2·e + 1 ⇒ r ≥ dmín -1 ≥ 2·e ⇒ r ≥ 2·e
• PE , Probabilidad de error residual:
– Código bloque capaz de corregir e errores– Canal binario simétrico con prob. error p
( ) inin
ei
ppi
n −
+=
−⋅⋅
= ∑ 1 P
1E
001 11010 11 100 11
![Page 20: Veure perfil](https://reader033.vdocuments.pub/reader033/viewer/2022051318/5849269e1a28abc11a8b5513/html5/thumbnails/20.jpg)
2020/33/33Codificación de Canal. Transmisión de Datos.Codificación de Canal. Transmisión de Datos.
• Códigos e-perfectos.
– Corrige hasta e errores y ningún otro más.
– Cada error corregible ⇔ Un síndrome diferente
Códigos e-perfectos y Códigos de Hamming
s = (s1, ..., sr)
++
+
+==
e
n ...
2
n
1
n 1 2 síndromes de Nº r
no error1 error e errores
• Códigos de Hamming.
– Código 1-perfecto ⇒ e = 1 ⇒ corrige errores simples.
– 2r = 1 + = 1 + n
n = 2r -1
n1
r = 2 ⇒ n = 22-1=3 ⇒ k=n-r=1 ⇒ Código (3, 1)
r = 3 ⇒ n = 23-1=7 ⇒ k=n-r=4 ⇒ Código (7, 4)
r = 4 ⇒ n = 24-1=15 ⇒ k=n-r=11 ⇒ Código (15, 11)
⇒
![Page 21: Veure perfil](https://reader033.vdocuments.pub/reader033/viewer/2022051318/5849269e1a28abc11a8b5513/html5/thumbnails/21.jpg)
2121/33/33Codificación de Canal. Transmisión de Datos.Codificación de Canal. Transmisión de Datos.
Código (7, 4) de Hamming
• Ejercicio. Generar un Código (7, 4) de Hamming.
– Se trata de obtener la matriz generadora G(kxn).
– Código (n, k) ⇒ n = 7, k = 4 ⇒ r = n - k = 3
– Corrige 1 error simple: e = 1 ⇒ Sólo una componente de e es diferente de cero.
– e tiene n=7 componentes, e = (e1, e2, ..., e7)
· Hay 7 vectores error e diferentes· Hay 7 errores corregibles ⇒ 7 síndromes s diferentes
– Como s = e · HT ,
· Cada síndrome asociado a error corregible, coincide con una columna de H(rxn)· H(3x7) tiene 7 columnas
( ) ( )
=−=
100
010
001
I P3x7H rT
xxxx
xxxx
xxxx – No puede haber una columna .
– 2 columnas no pueden ser iguales.
– Las 4 columnas serán las 23-1-3 = 4 ternas restantes, en cualquier orden.
000
¿Cómo elegimos las 4 columnas de H?
![Page 22: Veure perfil](https://reader033.vdocuments.pub/reader033/viewer/2022051318/5849269e1a28abc11a8b5513/html5/thumbnails/22.jpg)
2222/33/33Codificación de Canal. Transmisión de Datos.Codificación de Canal. Transmisión de Datos.
Código (7, 4) de Hamming
( ) ( )rT I P-
1001110
0100111
0011101
3x7H =
= ( ) ( )P I
1011000
1110100
1100010
0110001
4x7G k=
=r x n k x n
• Código generado:
0000 0000001 1010010 1110011 0100100 0110101 1100110 1000111 0011000 1101001 0111010 0011011 1001100 1011101 0011110 0101111 111
XY
Y = X·G
s = e ·HT
error ↔ síndrome 1000000 110 0100000 011 0010000 111
0000001 001
1ª columna de H
2ª columna de H
3ª columna de H
7ª columna de H
Y = 0001101 – Corrección de errores simples– Detección de errores– Corrección de borrones
![Page 23: Veure perfil](https://reader033.vdocuments.pub/reader033/viewer/2022051318/5849269e1a28abc11a8b5513/html5/thumbnails/23.jpg)
2323/33/33Codificación de Canal. Transmisión de Datos.Codificación de Canal. Transmisión de Datos.
Código (7, 4) de Hamming
Y = Z + e =
s = Z·HT
b) Capacidad detectora de errores: Y = 0001101 → Z = 1101101
= (1101101) · = (101) ≠ (000) ⇒ Ha habido error. Los 2 errores han sido detectados.
110011111101100010001
No debo corregir, pues el número de errores (2) excede la capacidad correctora, e=1:
1101101 + 0001000 = 1100101 ≠ Y
δ = 2·e = 2
s = Z·HT
a) Corrección de error simple: Y = 0001101 → Z = 0001100
= (0001100) · = (001) ⇒
110011111101100010001
e = (0000001) Y = Z + e = 0001100 + 0000001 =
= 0001101 = Y
⇒ e = (0001000)
![Page 24: Veure perfil](https://reader033.vdocuments.pub/reader033/viewer/2022051318/5849269e1a28abc11a8b5513/html5/thumbnails/24.jpg)
2424/33/33Codificación de Canal. Transmisión de Datos.Codificación de Canal. Transmisión de Datos.
Código (7, 4) de Hamming
Y = 0001101 → Z = # # 01101ρ = δ = 2c) Corrección de borrones:
0000 0000001 1010010 1110011 0100100 0110101 1100110 1000111 0011000 1101001 0111010 0011011 1001100 1011101 0011110 0101111 111
Comparando con todas las palabrascódigo, podemos decir SIN DUDA
que la palabra código transmitida
es Y = 0001101.
Con un número mayor de borrones, no podemosasegurar el poder discernir entre varias palabras código.
Ejemplo:
Z = # # 0 # 110 ⇒Y = 0101110
Y = 1000110?
![Page 25: Veure perfil](https://reader033.vdocuments.pub/reader033/viewer/2022051318/5849269e1a28abc11a8b5513/html5/thumbnails/25.jpg)
2525/33/33Codificación de Canal. Transmisión de Datos.Codificación de Canal. Transmisión de Datos.
Códigos de Hamming recortados
0000 0000001 1010010 1110011 0100100 0110101 1100110 1000111 0011000 1101001 0111010 0011011 1001100 1011101 0011110 0101111 111
• Si borramos cualesquiera B columnas de la matriz de comprobación H(rxn) de un código Hamming, obtenemos una matriz H’ de orden r x (n-B).
• A partir de H’ podemos obtener la matriz G’ (estructura sistemática) de un código Hamming recortado con los siguientes parámetros:
n’ = n - Bk’ = k - Br’ = re = 1 → dmín = 3
( ) ( ) ( )rT I P-
10011
01001
00111
3x5H'
1001110
0100111
0011101
3x7H =
=⇒
=
( ) ( )
==
10110
11101P I2x5G' k
Por ejemplo, B=2:
Código(6,3)
Código(5,2)
k’ x n’
r’ x n’
n’ = 7-2 = 5k’ = 4-2 = 2r’ = 3e = 1 → dmín = 3
r x n
X 00011011
Y=X·G
![Page 26: Veure perfil](https://reader033.vdocuments.pub/reader033/viewer/2022051318/5849269e1a28abc11a8b5513/html5/thumbnails/26.jpg)
2626/33/33Codificación de Canal. Transmisión de Datos.Codificación de Canal. Transmisión de Datos.
Código (5, 2) de Hamming recortado
• Diseñar un Código (5,2) con el simulador Ptolemy.
1.- La probabilidadde error del canalequivalente es del 2%.
2.- Diseñar las tablas deemisor y receptor.
3.- Hallar la probabilidadde error final residual.
4.- Hallar la eficiencia delcódigo. Compararla con la del Código (7,4).
5.- Conclusiones.
p(0)
Código (5, 2)
E = k/n = 2/5 = 0,4 = 40%
PE = 0,38%
Código (7, 4)
E = k/n = 4/7 = 0,57 = 57%
PE = 0,78%
![Page 27: Veure perfil](https://reader033.vdocuments.pub/reader033/viewer/2022051318/5849269e1a28abc11a8b5513/html5/thumbnails/27.jpg)
2727/33/33Codificación de Canal. Transmisión de Datos.Codificación de Canal. Transmisión de Datos.
Ejercicios
• 1. La matriz de comprobación H(3x7) de un Código de Hamming (7, 4) es:
( )
=
1001110
0100111
0011101
3x7H Se recibe la palabra Z = 10ab110.
¿Cuál fue el mensaje enviado?
Es de Hamming → Capacidad correctora de errores e=1 → Capacidad correctora de borrones ρ=2
s = (10ab110) · HT = (a+b+1, b, a+1) = (0, 0, 0) ⇒ b=0, a=1 ⇒ Mensaje = 1010
• 2. Se tiene un canal caracterizable por una prob. de error de bit de 10-3 que genera ráfagas de error
de longitud 2. Es inaceptable una prob. de error de usuario de 10-7. Considere n=5.
¿Con qué codificador es posible?
a) e=1, D=4 → D≥2, PE ≅ 10-6 · = 10-5 > 10-7, No.
b) e=2, D=1 → No, no se está entrelazando.
c) e=2, D=2 → D≥2, PE ≅ 10-9 · = 10-9 < 10-7, Sí.
52
53
El proceso de entrelazado permite suponer erroresindependientes y aleatorios.
Es aplicable la expresión PE ≅ · pe+1ne+1
![Page 28: Veure perfil](https://reader033.vdocuments.pub/reader033/viewer/2022051318/5849269e1a28abc11a8b5513/html5/thumbnails/28.jpg)
2828/33/33Codificación de Canal. Transmisión de Datos.Codificación de Canal. Transmisión de Datos.
Código ISBN
• Código ISBN (International Standard Book Number).
– Código utilizado para detectar errores producidos al mecanografiar.
– El mensaje de usuario consta de k=9 símbolos ∈ {0, 1, 2, 3, 4, 5, 6, 7, 8, 9, X}.
– Se añade otro símbolo de ese mismo alfabeto como redundancia, r=1.
– La palabra código consta de n=k+r=10 símbolos.
– Trabajamos en el Cuerpo de Galois GF(11) , utilizando aritmética módulo 11.
– El código es sistemático: la palabra código está formada por el mensaje de usuario seguido de la redundancia.
– Obtención de la redundancia: Suma de los 9 dígitos del mensaje ponderados por su posición ⇒Proporciona información para detectar errores comunes de transposición.
– Puede corregir 1 borrón -> ρ=1 => No corrige ningún error => e=0
![Page 29: Veure perfil](https://reader033.vdocuments.pub/reader033/viewer/2022051318/5849269e1a28abc11a8b5513/html5/thumbnails/29.jpg)
2929/33/33Codificación de Canal. Transmisión de Datos.Codificación de Canal. Transmisión de Datos.
Código ISBN
• Código ISBN. Obtención de las matrices de generación G y de comprobación H.
mensaje → m1 m2 m3 m4 m5 m6 m7 m8 m9
* * * * * * * * *
posición → 1 2 3 4 5 6 7 8 9 → redundancia = 1·m1+2·m2+3·m3+4·m4+5·m5+6·m6+ + 7·m7+8·m8+9·m9
( ))19P( I
9100000000
8010000000
7001000000
6000100000
5000010000
4000001000
3000000100
2000000010
1000000001
)109(G 9 xx =
=kxn kxr
( ) ( )1 2 3 4 5 6 7 8 9 10I P)101(H rT =−=x
rxn
01
2
3
4
56
7
10
9
8
-1
-2
-3
-4-5
-6
-7
-8
-9
-10
X
“El manuscrito carmesí”, A. Gala. → 84 320 7022-X
![Page 30: Veure perfil](https://reader033.vdocuments.pub/reader033/viewer/2022051318/5849269e1a28abc11a8b5513/html5/thumbnails/30.jpg)
3030/33/33Codificación de Canal. Transmisión de Datos.Codificación de Canal. Transmisión de Datos.
Código ISBN
• Código ISBN. Ejemplo.
( ) ( ) ( )X84320702210843207022
9100000000
8010000000
7001000000
6000100000
5000010000
4000001000
3000000100
2000000010
1000000001
843207022GXY ≡=
⋅=⋅=
( ) ( ) 011 mod 2091 2 3 4 5 6 7 8 9 X843207022XHY TT ==⋅=⋅
“El manuscrito carmesí”, A. Gala. → 84 320 7022-X
Redundancia =
= 1·8+2·4+3·3+4·2+5·0+6·7+7·0+8·2+9·2 =
= 109 mod 11 =
= 10 ≡ X
Corrige 1 borrón ⇒ ρ = 1 ⇒ e = 0
![Page 31: Veure perfil](https://reader033.vdocuments.pub/reader033/viewer/2022051318/5849269e1a28abc11a8b5513/html5/thumbnails/31.jpg)
3131/33/33Codificación de Canal. Transmisión de Datos.Codificación de Canal. Transmisión de Datos.
Códigos cíclicos y Códigos polinómicos
• Códigos cíclicos.
– Subconjunto de los códigos bloque lineales.
– Pueden ser modelados fácilmente mediante polinomios.
– Pueden ser implementados con registros de desplazamiento LFSR (Lineal Feedback Shift Register).
• Un código bloque lineal C es cíclico si:
Y = yn-1 yn-2 ... y3 y2 y1 y0 ∈ C
Y’ = yn-2 ... y3 y2 y1 y0 yn-1 ∈ C
Y’’ = y0 yn-1 yn-2 ... y3 y2 y1 ∈ C
• Correspondencia polinómica: Y = yn-1 yn-2 ... y3 y2 y1 y0 → Y(D) = y0 + y1⋅D + y2 ⋅D2 + ... + yn-1 ⋅Dn-1
(MPI=Más Peso a la Izquierda)
![Page 32: Veure perfil](https://reader033.vdocuments.pub/reader033/viewer/2022051318/5849269e1a28abc11a8b5513/html5/thumbnails/32.jpg)
3232/33/33Codificación de Canal. Transmisión de Datos.Codificación de Canal. Transmisión de Datos.
Códigos cíclicos y Códigos polinómicos
• Códigos cíclicos sistemáticos.
Y(D) = y0 + y1⋅ D + y2 ⋅ D2 + ... + yr-1 ⋅ Dr-1 + yr ⋅ Dr + ... + yn-1 ⋅ Dn-1
Dr ⋅ X(D)Y(D) = R(D) + Dr ⋅ X(D)
R(D) = Dr ⋅ X(D) mod g(D)
k posiciones r
Dr ⋅ X(D) R(D)
Dr ⋅X(D) = g(D)⋅C(D) + R(D)Dr ⋅X(D) g(D)
C(D)R(D)
Y(D) = R(D) + Dr ⋅X(D) = g(D)⋅C(D)
Y(D) mod g(D) = 0
Y(D) = g(D)⋅C(D)
⇓
g(D) = polinomio generador, grado r
Errores: Z(D) = Y(D) + e(D) S(D) = Z(D) mod g(D) = Y(D) mod g(D) + e(D) mod g(D) = e(D) mod g(D)
= 0, No error
≠ 0, Error
Aquellos cuyo e(D) no sea múltiplo de g(D).¿Qué errores se detectan?
![Page 33: Veure perfil](https://reader033.vdocuments.pub/reader033/viewer/2022051318/5849269e1a28abc11a8b5513/html5/thumbnails/33.jpg)
3333/33/33Codificación de Canal. Transmisión de Datos.Codificación de Canal. Transmisión de Datos.
Códigos cíclicos y Códigos polinómicos
• Ejemplo.
– Código cíclico (7, 4) sistemático definido por el polinomio generador g(D) = D3 + D2 + 1.
– Hallar la palabra código asociada al mensaje de usuario X = 1011.
X=1011 → X(D) = D3 + D + 1
r = n-k = 7-4 = 3
Y(D) = R(D) + Dr ⋅ X(D)
R(D) = Dr ⋅ X(D) mod g(D)
Dr ⋅ X(D) = D3 ⋅ (D3 + D + 1) = D6 + D4 + D3
D6 + D4 + D3 D3 + D2 + 1
D3 + D2D6 + D5 + D3
D5 + D4
D5 + D4 + D2
D2 = R(D)
Y(D) = R(D) + Dr ⋅ X(D) = D2 + D6 + D4 + D3 = D6 + D4 + D3 + D2
Y = 1011 100