Académique Documents
Professionnel Documents
Culture Documents
Pgina 1
Cdigo Convolucional
Los cdigos Convolucionales trabajan
bajo patrones estadsticos. Esto significa
que no existe la definicin de correccin
de un error de bit simple. Slo se puede
decir que, en promedio, el uso de
cdigos convolucionales mejorar la
inmunidad al error. Por esto se usa
ampliamente, pues puede proporcionar
una mejora a la inmunidad al error en 3
rdenes de magnitud, con una relacin
de codificacin de 1/2.
En este tipo de codificacin, la
informacin de verificacin est
distribuida sobre un espacio de
smbolos de mensaje, llamado espacio
acotado del cdigo. De esta manera,
pueden
codificarse
continuamente
largas corrientes de bits sin necesidad
de agruparlas en bloques. Esto se
consigue
usando
registros
de
corrimiento cuyas salidas se combinan
de una manera preestablecida para fijar
ciertos lmites en la corriente de bits
codificada. El cdigo convolucional de
espacio acotado K se genera
combinando las salidas de K registros
con vi sumadores mdulo 2,
generndose v smbolos de salida por
cada smbolo de entrada, dando un
cdigo de razn1/v.
Por Conexin
Diagrama de estados
Arbol de cdigo
Diagrama Trellis
Pgina 2
word
Calculo de bits d
1
2
3
4
5
6
7
8
9
1
0
1
1
1
2
1
3
1
4
1
5
1
6
m3 m2 m1
m0
0000
0001
0010
0011
0100
0101
0110
0111
1000
b2 = xor(m0 m3
m1)
0 = xor(0 0 0)
1 = xor(1 0 0)
1 = xor(0 0 1)
0 = xor(1 0 1)
0 = xor(0 0 0)
1 = xor(1 0 0)
1 = xor(0 0 1)
0 = xor(1 0 1)
1 = xor(0 1 0)
1001
0 = xor(1 1 0)
1010
0 = xor(0 1 1)
1011
1 = xor(1 1 1)
1100
1 = xor(0 1 0)
1101
0 = xor(1 1 0)
1110
0 = xor(0 1 1)
1111
1 = xor(1 1 1)
Pgina 3
INICIO
Codificacin HAMMING
Ingresamos palabra de mensaje
i=1
i<=16
(Se hallan los bits de paridad para cada palabra mensaje)
m3(i) m2(i) m1(i) m0(i)
b2(i) = m0(i)
b1(i) = m1(i)
b0(i) = m0(i)
m3(i)
m2(i)
m1(i)
m1(i)
m3(i)
m2(i)
de mensaje MSB-LSB y bits de paridad y se guarda en array con respectiva ubicacin para posterior muestreo)
m(i,:) = [m3(i) m2(i) m1(i) m0(i)];
b(i,:) = [b2(i) b1(i) b0(i)];
i=1
i<=16
(SE IMPRIME PALABRA MENSAJE, BITS DE PARIDAD Y PALABRA CODIGO)
'Message Word' = m[i]
'Parity Bits' = b[i]
'CodeWord' = C[i]
FIN
Pgina 4
INICIO
Codificacin CONVOLUCIONAL
g = input("1 sequence");
h = input("2 sequence");
N1 = max(size(g));
N2 = max(size(h));
N = max(N1,N2);
N3 = N1-N2;
N3>=0
h = [h,zeros(1,N3)];
g = [g,zeros(1,-N3)];
for n = 1:N
y(1,n) = 0;
for i = 1:N
j = n-i+1;
j = N+j;
j<=0
FIN
IV.- SIMULACIONES.Simulacin 1:
Para el cdigo Hamming (7,4)
//HammingEncoding
//H(7,4)
//Code Word Length = 7, Message Word
length = 4, Parity bits =3
//clear;
close;
clc;
//GettingMessage Word
word
word
2. Message Word
0. 0. 0. 1.
Parity Bits
1. 0. 1.
CodeWord 1. 0. 1. 0. 0. 0. 1.
3. Message Word
0. 0. 1. 0.
Parity Bits
1. 1. 1.
CodeWord 1. 1. 1. 0. 0. 1. 0.
//GeneratingParity bits
for i = 1:(2^4)
b2(i) = xor(m0(i),xor(m3(i),m1(i)));
b1(i) = xor(m1(i),xor(m2(i),m3(i)));
b0(i) = xor(m0(i),xor(m1(i),m2(i)));
m(i,:) = [m3(i) m2(i) m1(i) m0(i)];
b(i,:) = [b2(i) b1(i) b0(i)];
end
4. Message Word
0. 0. 1. 1.
Parity Bits
0. 1. 0.
CodeWord 0. 1. 0. 0. 0. 1. 1.
5. Message Word
0. 1. 0. 0.
Parity Bits
0. 1. 1.
CodeWord 0. 1. 1. 0. 1. 0. 0.
C = [b m];
disp('_______________________________
__________________________')
word
1. Message Word
0. 0. 0. 0
Parity Bits
0. 0. 0.
CodeWord 0. 0. 0. 0. 0. 0. 0.
m3 = input('Enterthe 1 bit(MSb) of
messageword');
m2 = input('Enterthe 2 bit of
messageword');
m1 = input('Enterthe 3 bit of
messageword');
m0 = input('Enterthe 4 bit(LSb) of
messageword');
for i = 1:2^4
disp(i)
disp(m(i,:),'Message Word')
disp(b(i,:),'Parity Bits')
disp(C(i,:),'CodeWord')
disp(" ");
disp(" ");
word
6. Message Word
0. 1. 0. 1.
Parity Bits
1. 1. 0.
CodeWord 1. 1. 0. 0. 1. 0. 1.
7. Message Word
0. 1. 1. 0.
Parity Bits
1. 0. 0.
CodeWord 1. 0. 0. 0. 1. 1. 0.
8. Message Word
0. 1. 1. 1.
Parity Bits
0. 0. 1.
CodeWord 0. 0. 1. 0. 1. 1. 1.
9. Message Word
1. 0. 0. 0.
Parity Bits
1. 1. 0.
CodeWord 1. 1. 0. 1. 0. 0. 0.
Pgina 6
Simulacin 2:
Para el cdigo Hamming (15,11)
//HammingEncoding
//H(15,11)
//Code Word Length = 15, Message Word
length = 11, Parity bits =4
//clear;
close;
clc;
m5 = input('Enterthe 6 bit of
messageword');
m4 = input('Enterthe 7 bit of
messageword');
m3 = input('Enterthe 8 bit of
messageword');
m2 = input('Enterthe 9 bit of
messageword');
m1 = input('Enterthe 10 bit of
messageword');
m0 = input('Enterthe 11 bit(LSb) of
messageword');
//GeneratingParity bits
for i = 1:(2^4)
b3(i) = bitxor(m10(i),bitxor(m9(i),m8(i)));
b2(i) = bitxor(m7(i),bitxor(m6(i),m5(i)));
b1(i) = bitxor(m4(i),bitxor(m3(i),m2(i)));
b0(i) = bitxor(m1(i),bitxor(m0(i),m10(i)));
m(i,:) = [m10(i) m9(i) m2(i) m8(i) m7(i)
m6(i) m5(i) m4(i) m3(i) m2(i) m1(i) m0(i)];
b(i,:) = [b3(i) b2(i) b1(i) b0(i)];
end
C = [b m];
disp('_______________________________
__________________________')
for i = 1:2^4
disp(i)
disp(m(i,:),'Message Word')
disp(b(i,:),'Parity Bits')
disp(C(i,:),'CodeWord')
disp(" ");
disp(" ");
end
disp('_______________________________
__________________________')
//GettingMessage Word
m10 = input('Enterthe 1 bit(MSb) of
messageword');
m9 = input('Enterthe 2 bit of
messageword');
m8 = input('Enterthe 3 bit of
messageword');
m7 = input('Enterthe 4 bit of
messageword');
m6 = input('Enterthe 5 bit of
messageword');
PRCTICA DE LABORATORIO III
0.
0.
0.
1.
0.
0.
0.
0.
0.
1.
1.
1.
0.
1.
0.
1.
0.
1.
5. Message Word
0. 0. 1. 0. 0.
1. 1. 1. 0. 1.
Parity Bits
0. 0. 1. 1.
CodeWord
0. 0. 1. 1. 0.
0. 0. 1. 1. 1.
0. 1.
6. Message Word
0. 0. 0. 0. 1.
1. 1. 0. 1. 1.
Parity Bits
0. 1. 0. 0.
CodeWord
0. 1. 0. 0. 0.
0. 1. 1. 1. 1.
1. 1.
0.
1.
0.
0.
1.
1.
0.
1.
1.
1.
1.
1.
0.
1.
0.
0.
7. Message Word
0. 0. 1. 1. 1. 1. 1.
1. 1. 1. 0. 1.
Parity Bits
1. 1. 1. 1.
CodeWord
1. 1. 1. 1. 0. 0. 1.
1. 1. 1. 1. 1. 1. 1.
0. 1.
8. Message Word
0. 1. 0. 1. 1. 1. 1.
1. 1. 0. 1. 1.
Parity Bits
0. 1. 0. 0.
CodeWord
0. 1. 0. 0. 0. 1. 0.
1. 1. 1. 1. 1. 1. 0.
1. 1.
9. Message Word
1. 1. 1. 1. 1.
1. 0. 1. 0. 0.
Parity Bits
1. 1. 0. 1.
CodeWord
Pgina 8
1.
1.
1.
1.
0.
0.
1.
1.
1.
1.
1.
1.
0.
1.
1.
1.
0.
0.
1.
1.
1.
0.
1.
1.
0.
1.
1.
1.
0.
0.
0.
0.
1.
0.
1.
0.
0.
0.
0.
0.
1.
0.
1.
1.
Simulacin 3:
Para el codigo convolucional teniendo como
secuencias
1 sequence
[0,0,0,0,0,0,0,0,1,1,1,1,1,1,1,1];
2 sequence
[0,0,0,0,1,1,1,1,0,0,0,0,1,1,1,1];
0.
1.
1.
0.
0.
0.
0.
Pgina 9
V.-CONCLUSIONES Y
COMENTAROS.Son esenciales los diagramas de flujo
para entender los programas de
simulacin.
Simulacin 4:
Para el codigo convolucional teniendo como
secuencias
1 sequence
[0,0,1,1,0,0,1,1,0,0,1,1,0,0,1,1];
2 sequence
[0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1];
Pgina 10