Thứ Bảy, 11 tháng 7, 2020

4.48 Mã hóa và giải mã với mã Hamming

Thực hiện mã hóa và giải mã với mã Hamming (n , k) =(15,11)
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

2.16 Tìm giá trị nhỏ nhất và lớn nhất trong ma trận

Cho ma trận X = [1 2 3; 4 5 6; 7 8 9]. Hãy a. Tìm giá trị lớn nhất và giá trị nhỏ nhất theo hàng. b. Tìm giá trị lớn nhất và nhỏ nhất theo...