a. Trường hợp 1: bit nhận thứ 3 bị sai
b. Trường hợp 2: bit nhận thứ 1 và 2 bị sai
Giải: Để làm bit sai, chúng thực hiện phép đảo bit.
% Thiết lập mã Hamming
k = 11;
n = 15;
data = randi([0 1],k,1);
TxData = encode(data,n,k,'hamming/binary');
%% Trường hợp 1
% Sai 1 bit tại bit thứ 3
RxData = TxData;
RxData(3) = ~RxData(3);
decData = decode(RxData,n,k,'hamming/binary');
numerr = sum(data~=decData)
%% Trường hợp 2
% Sai hai bit 1 và 2
RxData = TxData;
RxData(1:2) = ~RxData(1:2);
decData = decode(RxData,n,k,'hamming/binary');
numerr = sum(data~=decData)
Ta nhận thấy rằng Trường hợp 1, số lỗi bằng không và Trường hợp 2 số lỗi bằng 1, nghĩa
là mã Hamming
(n , k) =(15,11) =
chỉ sửa được 1 lỗi.
Không có nhận xét nào:
Đăng nhận xét