Giải: Mã hóa và giải mã RS làm việc trên trường Galois, nên chúng ta phải chuyển dữ liệu mã hóa vào trường Galois bằng hàm gf().
% Số lượng bit trên 1 symbol
m = 3;
% Chiều dài codeword
n = 2^m-1;
% Mã RS (k,n) = (7,3)
k = 3;
% Mã RS xử lý trên trường Galois
N = 10;
msg = gf(randi([1 n],N,k),m);
Txrscode = rsenc(msg,n,k);
% Tạo ma trận lỗi có cùng kích thước với ma trận Txrscod
errors = zeros(size(Txrscode));
% Dòng 1: 1 lỗi
errors(1,1) = 1;
% Dòng 2: 2 lỗi
errors(2,1:2) = 1;
% Dòng 3: 3 lỗi
errors(3,1:3) = 1;
errors = gf(errors,m);
% Cộng nhiễu tại máy thu
Rxrscode = Txrscode + errors;
% Giải mã RS
[rxcode,cnumerr] = rsdec(Rxrscode,n,k);
cnumerr'
sum(cnumerr==-1)
Từ giá trị của vector cnumerr, ta thấy dòng thứ 3 có lỗi khi có giá trị -1.
Không có nhận xét nào:
Đăng nhận xét