Tải bản đầy đủ

MÃ KHỐI TUYẾN TÍNH

TRƯỜNG CAO ĐẲNG KỸ THUẬT LÝ TỰ TRỌNG
KHOA ĐIỆN – ĐIỆN TỬ

Bùi Thiên Ái
Mạch Minh Huy
Huỳnh Tuyết Quan
12CĐ-ĐT1

MÃ KHỐI TUYẾN TÍNH

TP. HỒ CHÍ MINH – 2013


Mã khối tuyến tính
I/ Giới thiệu :
Trong lý thuyết mã hóa, mã tuyến tính là mã sửa lỗi trong đó mọi tổ hợp
tuyến tính của các mã tự cũng là một mã tự. Mã tuyến tính thường được
phân loại thành mã khối và mã chập, mặc dù mã Turbo có thể được coi là
thuộc cả hai thể loại. Mã tuyến tính thường có thuật toán mã hóa và giải mã
hiệu quả hơn các loại mã khác.
Mã tuyến tính được dùng trong sửa lỗi trước và được dùng để truyền các kí

hiệu (chẳng hạn như bit) trên một kênh liên lạc sao cho, nếu có lỗi trong quá
trình truyền, người nhận có thể phát hiện và sửa một số lỗi trong khối nhận
được. Mỗi mã tự trong một mã khối tuyến tính là một khối các kí hiệu được
mã hoá thành một khối lớn hơn khối ban đầu. Lượng thông tin thừa trong
mỗi khối được dùng để phát hiện và sửa các lỗi trong quá trình truyền. Độ
dài n của mã khối tuyến tính số kí hiệu trong một khối. Ví dụ, mã Hamming
[7,4,3] là một mã nhị phân tuyến tính biểu diễn mỗi thông điệp 4 bit bằng
một mã tự 7 bit. Hai mã tự khác nhau sai khác ở ít nhất 3 bit. Do đó, mã có
thể phát hiện 2 lỗi sai và sửa 1 lỗi sai. Mã này gồm 24=16 mã tự.

II/ Định nghĩa :
Một mã tuyến tính với độ dài n và hạng/số chiều k là một không gian con C
với số chiều k của không gian vectơ trong đó là trường hữu hạn với q
phần tử. Mã như vậy gọi là mã q-phân. Nếu q = 2 hay q = 3, thì mã đó được
gọi tương ứng là mã nhị phân, và mã tam phân. Các vectơ trong C được
gọi là các mã tự. Kích thước của một mã là số mã tự, và đúng bằng qk.
Trọng lượng của một mã tự là số lượng phần tử khác không của nó và
khoảng cách giữa hai mã tự là khoảng cách Hamming giữa chúng, nghĩa là
số phần tử khác nhau giữa hai mã tự. Khoảng cách d của một mã là trọng
lượng nhỏ nhất trong các mã tự khác không, hoặc một cách tương đương,


khoảng cách nhỏ nhất giữa hai mã tự khác nhau. Mã tuyến tính độ dài n, số
chiều k, và khoảng cách d được kí hiệu là mã [n,k,d].
Ghi chú: Ta sử dụng cơ sở thông thường cho vì mỗi tọa độ ứng với một kí
hiệu được truyền trên "kênh nhiễu". Chỉ khi sử dụng cơ sở này thì khoảng
cách Hamming mới tương ứng với số lỗi sai trong quá trình truyền.
Qui ước viết dấu + thay cho dấu ⊕ và dấu + sẽ được hiểu theo ngữ cảnh.

III/ Tính Chất :
Vì là một không gian con của
, toàn bộ mã C (có kích thước lớn) có thể được biểu
diễn chỉ bằng một hệ sinh gồm ít nhất mã tự (gọi là cơ sở trong đại số tuyến tính). Nếu
ghép các mã tự này làm các hàng của ma trận G thì ma trận đó gọi là ma trận sinh của
mã C. Khi G có dạng khối
một ma trận

, trong đó

là ma trận đơn vị


và A là

, thì ta nói G nằm ở dạng chuẩn.

Ma trận H biểu diễn biến đổi tuyến tính
có hạt nhân là C được gọi là
ma trận kiểm tra của C (còn được gọi là ma trận kiểm tra tính chẵn lẻ). Nếu C là mã với
ma trận sinh G ở dạng chuẩn, G = (Ik | A), thì H = (−At | In − k) là ma trận kiểm tra của C.
Mã sinh bởi H được gọi là mã đối ngẫu của C.
Tính chất tuyến tính đảm bảo khoảng cách Hamming nhỏ nhất d giữa mã tự c0 và bất kì
mã tự c ≠ c0 nào là độc lập với c0. Điều này được suy ra từ tính chất hiệu c − c0 của hai
mã tự trong C cũng là một mã tự (nghĩa là một phần tử của không gian C), và tính chất
d(c, c0) = d(c − c0, 0). Theo các tính chất này,

Nói cách khác, để xác định khoảng cách nhỏ nhất giữa các mã tự của một mã tuyến tính,
chỉ cần xét khoảng cách giữa các mã tự khác không và mã tự không. Mã tự khác không
có trọng lượng nhỏ nhất chính là mã tự gần mã tự không nhất và trọng số đó chính là
khoảng cách nhỏ nhất.
Khoảng cách d của một mã tuyến tính C cũng bằng số nhỏ nhất các cột phụ thuộc tuyến
tính của ma trận kiểm tra H.
Chứng minh: Xét c là mã tự có trọng số nhỏ nhất. Theo định nghĩa,
nên
các cột
với
phụ thuộc tuyến tính. Vì vậy số cột nhỏ nhất phụ thuộc tuyến tính
là nhỏ hơn hoặc bằng d.


Mặt khác xét một tập hợp nhỏ nhất các cột phụ thuộc tuyến tính
là tập hợp các chỉ số các cột này.

. Xét vectơ
nếu
. Ta nhận thấy

chính là số nhỏ nhất các cột phụ thuộc tuyến tính của

. Do đó ta có

trong đó

sao cho
,

.

Như vậy, ta thu được kết quả cần chứng minh.

IV/ Cách biểu diễn mã - Ma trận sinh
Mã tuyến tính C(n,k) là một không gian con k chiều của không gian vectơ n
thành phần, ⇒∃ k từ mã độc lập tuyến tính, chẳng hạn (g0, g1, ..., gk-1) sao
cho mỗi từ mã trong C là một tổ hợp tuyến tính của k từ mã này ( với ai∈{0,
1}∀i= 0, 1, ..., k–1 )

w = a g + a g + ... + a g
0

0

1

1

k–1

k–1

k từ mã này tạo thành một ma trận cấp k x n như sau :

Với gi = ( gi0, gi1, ..., gi(n-1)), với i = 0, 1, ... , k-1

V/ Cách mã hóa
Nếu u = (a0, a1, . . . , ak-1) là thông tin cần được mã hóa thì từ mã w tương ứng
với u được ta bằng cách lấy u nhân với G
w = u x G = ( a0,a1, ..., ak-1)
hay

w = a g + a g + ... + a g
0

0

1

1

k–1

k–1


Vì các từ mã tương ứng với các thông báo được sinh ra bởi G theo cách trên
nên G được gọi là ma trận sinh cảu bộ mã.
Ví dụ
Cho ma trận sinh của một mã tuyến tính C(7,4) sau

Nếu u = ( 1101) là thông tin cần mã hóa thì từ mã tương ứng là

w= 1.g + 1.g + 0.g + 1.g = (1100101)
0

1

2

3

Bất kỳ k từ mã độc lập tuyến tính nào cũng có thể được dùng để làm ma
trận sinh cho bộ mã.
Một bộ mã tuyến tính ( hay còn gọi là không gian mã) có thể có nhiều ma
trận khác nhau cùng biểu diễn.
Mỗi ma trận sinh tương ứng với một mã hóa khác nhau.

VI/ Cách giải mã
Lấy ma trận sinh như ở trong ví dụ trên.
u = ( a0,a1,a2,a3) là thông báo, w = ( b0,b1,b2,b3,b4,b5,b6) là từ mã tương ứng.
Chúng ta có hệ phương trình sau liên hệ giữa u và w .

Chọn bốn phương trình đơn giản nhất để giải các ai theo các bj . Chẳng han
các phương trình (4), (5), (6), (7) chúng ta giải được


Hệ phương trình trên được gọi là hệ phương trình giải mã.
Có thể có nhiều hệ phương trình giải mã khác nhau nhưng sẽ cho kết quả
như nhau.
w = 1001011

u=?

VII/ Mã tuyến tính hệ thống
Một mã tuyến tính C(n,k) được gọi là mã tuyến tính hệ thống nếu mỗi từ mã
có một trong hai dạng sau
Dạng 1 : từ mã bao gồm phần thông tin k bit đi trước và phần còn lại (gồm
n-k bit) đi sau ( phần này được gọi là phần dư thừa hay phần kiểm tra ).

Dạng 2 : Ngược của dạng 1, từ mã bao gồm phần kiểm tra đi trước và phần
thông tin đi sau.

VIII/ Ma trận sinh hệ thống


Ví dụ
Dùng các phép biến đổi sơ cấp biến đổi các ma trận sinh sau thành ma trận
sinh hệ thống.

Không phải mọi ma trận sinh đều có thể biến đổi thành ma trận sinh hệ
thống



Tài liệu bạn tìm kiếm đã sẵn sàng tải về

Tải bản đầy đủ ngay

×