ASCII TO HAMMING CODE 7.4
9 visualizaciones (últimos 30 días)
Mostrar comentarios más antiguos
Branislav Gabco
el 21 de Feb. de 2023
Hi I want to make converter from ASCII to hamming code 7.4. This is my code but output from this code is incorrect because when I compare it with the results from the online converter, the results do not match. Can you please tell me what is wrong with this code?
% Define the generator matrix for Hamming code 7.4
G = [1 0 0 0 1 1 0;
0 1 0 0 1 0 1;
0 0 1 0 1 1 1;
0 0 0 1 0 1 1];
% Ask the user to input a text message
msg = input("Enter a text message: ", 's');
% Convert the message to ASCII codes
asciiMsg = uint8(msg);
% Convert the ASCII codes to binary and concatenate them into a single vector
binaryMsg = dec2bin(asciiMsg, 8) - '0';
binaryMsg = binaryMsg.';
% Pad the binary message with zeros if its length is not a multiple of 4
numPaddingZeros = mod(-length(binaryMsg), 4);
binaryMsg = [zeros(1, numPaddingZeros), binaryMsg(:).'].';
% Reshape the binary message into 4-bit blocks
binaryMsg = reshape(binaryMsg, 4, []).';
% Encode each 4-bit block using Hamming code 7.4
encodedMsg = mod(binaryMsg * G, 2);
% Convert the encoded message to a string of characters
encodedMsgStr = num2str(encodedMsg(:).');
encodedMsgStr = strrep(encodedMsgStr, ' ', '');
encodedMsgStr = regexprep(encodedMsgStr, '[^\d]', '');
% Print the encoded message
disp("Encoded message: " + encodedMsgStr);
0 comentarios
Respuesta aceptada
Voss
el 22 de Feb. de 2023
Movida: Voss
el 24 de Feb. de 2023
I would check that you're putting the elements of encodedMsg in the right order here:
encodedMsgStr = num2str(encodedMsg(:).');
encodedMsgStr = strrep(encodedMsgStr, ' ', '');
encodedMsgStr = regexprep(encodedMsgStr, '[^\d]', '');
Maybe it should be something like:
encodedMsgStr = reshape(char(encodedMsg.'+'0'),1,[]);
2 comentarios
Más respuestas (0)
Ver también
Categorías
Más información sobre Hamming en Help Center y File Exchange.
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!