Professional Documents
Culture Documents
Nhom3A ThongTinso Baitap3 PDF
Nhom3A ThongTinso Baitap3 PDF
Bài 3B:
%Ma hoa
input = '01010100 01010101 01001110 01000111 00100000 01001011 01001000 01000001
01001110 01001000 00100000 01000100 01000001 01010100 00100000 01010100 01001001
01000101 01001110';
n = ceil(length(input)/4);
output = cell(1,n);
for i = 1:n
s = input(4*(i-1)+1:min(4*i,length(input)));
x = bin2dec(s);
output{i} = dec2bin(x,4) - '0';
end
disp(output)
G = [1 0 0 0 1 1 1; 0 1 0 0 0 1 1; 0 0 1 0 1 0 1; 0 0 0 1 1 1 0];
result = cell(1,n);
for i = 1:n
A = output{i};
B = mod(A*G,2);
result{i} = B;
end
disp(result)
%tạo lỗi giống với 3a
result(1)={[0 1 0 0 1 0 1]};
result(16)={[1 0 1 1 0 0 1]};
result(26)={[0 0 0 1 1 0 1]};
result(38)={[1 1 1 1 1 1 1]};
% Giải mã và phat hien loi
HT= [1 1 1;0 1 1;1 0 1;1 1 0;1 0 0;0 1 0; 0 0 1];
Z="";
for i=1:n
m=result{i};
R= mod(m*HT,2);
if R==[1 1 1]
m=m+[-1 0 0 0 0 0 0];
m=abs(m);
end
if R==[0 1 1]
m=m+[0 -1 0 0 0 0 0];
m=abs(m);
end
if R==[1 0 1]
m=m+[0 0 -1 0 0 0 0];
m=abs(m);
end
if R==[1 1 0]
m=m+[0 0 0 1 0 0 0];
m=abs(m);
end
K = reshape(m(1:4),1,4);
b = num2str(K);
b= strrep(b,' ','');
Z=Z+b;
end
Z = convertStringsToChars(Z);
k = ceil(length(Z)/8);
output2= string(1:20);
for i = 1:k
output2(i)= Z(8*(i-1)+1:min(8*i,length(Z)));
end
Ketqua="";
for i= 1:k
ascii2 = bin2dec(output2(i));
text2 = char(ascii2);
Ketqua=Ketqua+text2 ;
end
Ketqua
Kết quả:
Nhận xét: Trong quá trình giải mã bản tin của mã (4,7) thì đã phát hiện được và sửa các lỗi
Minh chứng: