Mã hóa kênh truyền
263
c = bchenc(msgw,n,k); % Mã hoá dữ liệu.
noise = randerr(nw,n,t); % Mỗi hàng có t lỗi, nhiễu là ma trận nhị phân
cnoisy = c + noise % Cộng nhiễu vào các từ mã.
[dc,nerrs,corrcode] = bchdec(cnoisy,n,k) % Giải mã thông điệp.
% Kiểm tra hoạt động của bộ giải mã.
chk2 = isequal(dc,msgw) & isequal(corrcode,c)
nerrs % Số lỗi đã được sửa ứng với mỗi từ của thông điệp.
Kết quả thực hiện chương trình như sau (
msgw:
thông điệp gốc,
cnoisy
: thông điệp mã hoá
bị lỗi,
dc
: thông điệp sau khi giải mã):
msgw = GF(2) array.
Array elements =
1 1 1 0 1
1 0 1 1 1
0 1 1 0 0
1 1 1 0 0
cnoisy = GF(2) array.
Array elements =
Columns 1 through 13
1 0 1 0 0 0 1 1 0 0 1 0 1
1 0 1 0 1 1 0 0 0 1 1 1 0
0 1 1 0 0 1 0 0 0 1 0 1 1
1 1 1 0 0 1 0 1 0 1 0 0 0
Columns 14 through 15
0 1
0 1
1 0
1 1
dc = GF(2) array.
Array elements =
1 1 1 0 1
1 0 1 1 1
0 1 1 0 0
1 1 1 0 0
nerrs =
3 3 3 3
corrcode = GF(2) array.
Array elements =
Columns 1 through 13
1 1 1 0 1 0 1 1 0 0 1 0 0
1 0 1 1 1 0 0 0 0 1 0 1 0