a. Kiểm trả khả năng sửa lỗi của mã BCH
b. Trường hợp 1: sai nhỏ hơn hoặc bằng khả năng sửa lỗi
c. Trường hợp 2: sai lớn hơn khả năng sửa lỗi
Giải: Dùng hàm bchnumerr() để kiểm tra số lượng lỗi mà mã có thể sửa được.
M = 4;
n = 2^M-1; % Codeword length
k = 5; % Message length
nwords = 10; % Number of words to encode
msgTx = gf(randi([0 1],nwords,k));
enc = bchenc(msgTx,n,k);
% Kiểm tra khả năng sửa lỗi của mã, giá trị ne là giá trị số lỗi mà mã BCH
% có khả năng sửa được
ne = bchnumerr(n,k);
%% Trường hợp 1:Số lỗi sai bằng khả năng sửa lỗi
noisycode1 = enc + randerr(nwords,n,1:ne);
[msgRx1,numerr1] = bchdec(noisycode1,n,k);
% Các vị trí trên vector numerr1 bằng 1 là bit sai
sum(numerr1==-1)
%% Trường hợp 2: Sai hơn khả năng sửa lỗi
noisycode2 = enc + randerr(nwords,n,1:ne+1);
[msgRx2,numerr2] = bchdec(noisycode2,n,k);
sum(numerr2==-1)
Không có nhận xét nào:
Đăng nhận xét