MATLAB ỨNG DỤNG TRONG VIỄN THÔNG - Trang 292

Mã hóa kênh truyền

261

dc = GF(2^3) array. Primitive polynomial = D^3+D+1 (11 decimal)

Array elements =

7 7 6

1 6 3

4 3 4

3 0 6

Ví dụ sau minh hoạ trường hợp bộ mã không có khả năng sửa lỗi:
Ví dụ 17-3. Mã hoá một thông điệp gồm 3 từ bằng mã Reed-Solomon [7,3].Tạo lỗi sao cho
bộ mã không có khả năng sửa lỗi. Giải mã và so sánh với thông điệp ban đầu.

n=7; k=3; % Chiều dài từ mã và thông điệp

m=3; % Số bit trên một ký hiệu

msg = gf([7 4 3;6 2 2;3 0 5],m) % Thông điệp gồm 3 từ

code = rsenc(msg,n,k); % Mã hoá

% Tạo 1 lỗi ở từ thứ 1, 2 lỗi ở từ thứ 2, 3 lỗi ở từ thứ 1

errors = gf([3 0 0 0 0 0 0;4 5 0 0 0 0 0;6 7 7 0 0 0 0],m);

codeNoi = code + errors

[dec,cnumerr,ccode] = rsdec(codeNoi,n,k) % Giải mã sai: cnumerr(3)= -1

Kết quả thực hiện chương trình:

msg = GF(2^3) array. Primitive polynomial = D^3+D+1 (11 decimal)

Array elements =

7 4 3

6 2 2

3 0 5

codeNoi = GF(2^3) array. Primitive polynomial = D^3+D+1 (11 decimal)

Array elements =

4 4 3 7 0 0 4

2 7 2 7 6 7 3

5 7 2 5 6 0 6

dec = GF(2^3) array. Primitive polynomial = D^3+D+1 (11 decimal)

Array elements =

7 4 3

6 2 2

5 7 2

cnumerr =

1

2

-1

ccode = GF(2^3) array. Primitive polynomial = D^3+D+1 (11 decimal)

Array elements =

7 4 3 7 0 0 4