(7,4) Programación en código Hamming en matlab
El programa se cambia a lo siguiente: S=ones(7,3); la parte a agregar
A=[1?1?0?1?1?0 ?0];
[r, l]=tamaño(A);
E=[0?0?0?0?0?0?0;0?0? 0?0? 0?0?1;0?0?0?0?0?1?0;0?0?0?0?1?0?0;0?0?0?1?0?0? 0;0? 0?1?0?0?0?0;0?1?0?0?0?0?0;1?0?0?0?0?0?0]; convertirlo en número decimal
for?i=1: r?
Sx=S(i,1)*4 S(i,2)*2 S(i,3 );
finLo siguiente es la detección de errores de código (7, 4)
para?i=1: r?
switch(Sx)
case?0?
disp('Esta palabra clave recibida es correcta')?
case?1?
disp('Nota: Esta palabra clave recibida palabra clave El primer dígito de la palabra clave recibida es incorrecto, corríjalo')?
case?2?
disp('Nota: El segundo dígito de esta palabra clave recibida es incorrecto, por favor corríjalo')
case?4?
disp('Nota: El tercer bit de la palabra clave recibida es incorrecto, corríjalo')?
case?3?
disp('Nota: El cuarto bit de la palabra clave recibida es incorrecto, corríjalo')?
case?5?
disp('Nota: El quinto bit de la palabra clave recibida es incorrecto, corríjalo')?
case?6
disp('Nota: El sexto bit de la palabra clave recibida la palabra clave es incorrecta. Por favor, corríjala')?
case?7?
disp('Nota: el séptimo bit de esta palabra en clave recibida es incorrecta, por favor corríjala')?
end
end
La siguiente es una corrección si sabes cuál está mal
para?i=1: r?
interruptor(Sx)
caso?0?
B(i,:)=A(i,:) E(1,:);
caso?1
B(i,:)=A(i,:) E(2,:);
caso?2?
B (i,:)=A(i,:) E(3,:);?
caso?4
B(i,:)=A(i, :) E(4,:);
caso?3
B(i,:)=A(i,:) E(5,:);
caso?5
B(i,:)=A(i,:) E(6,:);?
caso?6
B (i,:)=A(i,:) E(7,:);
caso?7
B(i,:)=A(i,: ) E (8,:);?
end
end
B=rem(B, 2);
disp( 'correct La palabra clave después del error');
disp(B);
Resultado:
Nota: El séptimo bit de la palabra clave recibida es incorrecto. por favor Corrección
Palabra clave corregida
0 1 0 1 1 0 0