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

4.50 Mã hóa và giải mã với mã BCH

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

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...