Documentos de Académico
Documentos de Profesional
Documentos de Cultura
Experiencia N°4
Algunos Códigos Notables
Universidad Nacional de Ingeniería
Facultad de Ingeniería Eléctrica y Electrónica
Código de hammming r
r
q −1
Al tratarse de códigos lineales 1-correctores, se m ( q−1 )=q −1 ⇒ m=
sigue que la matriz de control no puede tener
q−1
es el número máximo de columnas que
menos de 3 columnas linealmente dependientes.
podr¶³amos poner en la matriz H. Por
Enefecto,
tanto, el valor de los parámetros de un código de
c=1=
[ ]
d−1
2
Haming (n; k) viene dado
por:
{
y recordemos que el numero q −1
r
mínimo de columna linealmente dependientes en m=
la matriz de control coincide con el valor de d. q−1
r
Sea r = n¡k = el número de ¯las de la matriz de q −1
control. k=n−r =m= −r
q−1
De todos los códigos 1-correctores que tienen el
mismo parámetro r (r es la redundancia del
código), el mejor será aquel para el cual la DECODIFICACION DE HAMMING
longitud n sea la más grande posible. En efecto, la
tasa de transmisión viene dada por Vamos a ver que no se necesita mantener en
memoria la tabla de sin-dromes, sino sólo la
k n−r r
R= = =1− matriz de control. Supongamos que se transmite la
n n n palabra-código x y se recibe y, donde y = x + e,
Por tanto, al aumentar n aumenta la tasa de siendo e el error que se ha producido. Si e es una
transmisión. palabra de peso 1 (porque el código de Hamming
No es difícil construir este tipo de códigos. Su es 1-corrector), se tiene
matriz de control solo puede contener conjuntos
H y =H ( x + e )=H x + H e
t t t t t
de 3 o más columnas linealmente dependientes.
En consecuencia, debe cumplir:
Si el error e = 0, obviamente Het = 0 ) Hyt = 0 y
(a) Todas la columnas deben ser diferentes.
(b) Ninguna columna es nula. decodificaremos aceptando Y como correcta. Pero
si, como hemos dicho antes, e es de peso 1,
(c) Ninguna columna puede ser un múltiplo de
otra. entonces e = ® ¢ ei (® 6= 0), donde ei denota la
cadena con todas sus componentes nulas salvo la
(d) Las columnas son de r (= n ¡ k) coordenadas
de A. que ocupa e el lugar i-esimo que es igual a α,
entonces Het = αhi, donde hi es la columna i-
(e) La matriz de control debe tener el mayor
número posible de columnas, esima de H.
Esta observación permite idear un método simple
para que la tasa de transmisión sea lo más
próxima a 1 que sea posible. de decodificar.
q r−1 es el número de columnas no nulas El codigo de reed-muller de primer orden
diferentes con r coordenadas. Si
m es el número total de columnas que verifican
Sea
las condiciones anteriores, cada una de ellas al
multiplicarlas por uno de los q ¡1 escalares no
nulos da otras q ¡ 1 columnas diferentes. Por
tanto, la colección de polinomios con grado a lo sumo
, el cual es un subespacio lineal de
Telecomunicaciones III EE515-M 2019-I
.
Por la observación 7.3, una base de ella es
(15)
( )
1 0 0 0 1 0 0 1 0 1 1 0 1 1 1
0 1 0 0 1 0 1 0 1 0 1 2.Consideremos
1 0 1 1 la matriz
H=
0 0 1 0 0 1 1 0 0 1 1 1 1 0 1
0 0 0 1 0 1 0 1 1 0 0 1 1 1 1
( )
1 0 0 1 0 1 0 1 1 2 1 2 0
Se trata de la matriz de control de un
código binario de Hamming.
H= 0 1 0 1 1 0 1 1 2 1 1 1 2
a) Encontrar la dimensión y la distancia 0 0 1 0 1 1 2 1 1 1 2 0 1
mínima. Se trata de la matriz de control de
b) Decodificar el mensaje recibido: un código de Hamming sobre el
i) y = 000000000000111 alfabeto
ii) y = 000000000111111
A = Z3 = {0, 1, 2}.
iii) y = 1000000000011111
a) Determinar la dimensión k y la
distancia mínima.
solución :
b) Codificar el mensaje 1112200010,
a) c) Decodificar las cadenas recibidas:
Dimensiones: i) y = 1000001211
La matriz H tiene la forma ii) y = 0000021210.
( n−k ) xn … ..(1)
La matriz es de dimensiones
4x15 Solución:
Reemplazando en uno Dimensiones:
n=15 La matriz H tiene la forma
K=11 ( n−k ) xn … ..(1)
Distancia mínima La matriz es de dimensiones
d=8 3x13
Reemplazando en uno
b) decodificar n=13
K=10
I. Y= 000000000000111 Distancia mínima
t
H y =(1 0 0 1) t d=9
El error se produce en la posición 9
La decodificación será b)codificar el mensaje
y−000000001000000 D=1112200010
( )
Y =000000001000111 1 1 0 1 0 0 0 0 0 0 0 0 0
II. y = 000000000111111
0 1 1 0 1 0 0 0 0 0 0 0 0
H y t=(1 0 10)t 1 0 1 0 0 1 0 0 0 0 0 0 0
El error se produce en la posición 9 0 1 2 0 0 0 1 0 0 0 0 0 0
La decodificación será 1 1 1 0 0 0 0 1 0 0 0 0 0
G=
y−000010000000000 1 2 1 0 0 0 0 0 1 0 0 0 0
Y =000010000111111 2 1 1 0 0 0 0 0 0 1 0 0 0
III. y = 1000000000011111 1 1 2 0 0 0 0 0 0 0 1 0 0
t t 2 1 0 0 0 0 0 0 0 0 0 1 0
H y =(1 0 0 0) 0 2 1 0 0 0 0 0 0 0 0 0 1
El error se produce en la posición 9
La decodificación será
y−100000000000000 C=DG
Y =000010000111111 C=( 0101112200010)
Telecomunicaciones III EE515-M 2019-I
3. Elaborar un programa para decodificar un syndrome-
de=bi2de(syndrome,'left-msb'); %%
mensaje codificado con un código de (se pasa el s¶³ndrome a la
Hamming, sobre un alfabeto ternario, con
redundancia y longitud dadas. e=trt(1+syndrome-de,:); %%(se
obtiene el error)
clc x=rem(y+e,2); %%(se corrige la
clear cadena recibida).
H=[1 0 0 1 0 1 0 1 1 2 1 2 0
0 1 0 1 1 0 1 1 2 1 1 1 2
0 0 1 0 1 1 2 1 1 1 2 0 1] %%
la matriz H
trt=syndtable(H);
y = [1 0 0 1 1 1 1];
e=trt(1+syndrome-de,:); %%(se
obtiene el error)
x=rem(y+e,2); %%(se corrige la
cadena recibida).
clc
clear
m=4;
[H, G, n, k]=hammgen(m)
d=randi([0 1],1,k)
c=rem(d*G,2)
%% la matriz H
trt=syndtable(H);
y = [1 0 0 1 1 1 1];