tin đã cho thành nguồn tin mới có những đặc tính thống kê phù hợp với kênh truyền thêm thông tin chống nhiễu, tăng tốc độ lập tin ->... ❂ Như vậy, mã hiệu là một nguồn tin với những đặc
Trang 1LÝ THUYẾT TRUYỀN TIN
CHƯƠNG 3:
MÃ HIỆU
Trang 2Nội dung chính của chương 3
❂ Mã fano
Trang 31 Mã hiệu
thấp so với thông lượng kênh.
khả năng chống nhiễu của kênh ta sử dụng
phương pháp mã hoá.
tin đã cho thành nguồn tin mới có những đặc tính thống kê phù hợp với kênh truyền (thêm thông tin chống nhiễu, tăng tốc độ lập tin) ->
Trang 4Mã hiệu
❂ Nguồn tin mới đó được gọi là Mã hiệu Nguồn tin mới đó được gọi là Mã hiệu .
❂ Như vậy, mã hiệu là một nguồn tin với những đặc Như vậy, mã hiệu là một nguồn tin với những đặc
tính thống kê phù hợp với C và khả năng chống nhiễu của kênh truyền
Trang 5Mã hiệu
❂ Ví dụ: Sử dụng bit kiểm tra chẵn lẻ như sau:
o Tin cần phát đi: 1010111
o Được mã hóa thành: 10101111Được mã hóa thành: 10101111
o Bit 1Bit 1 được thêm vào để đảm bảo tổng số bit 1 trong 8 bit là một
số chẵn
o Nếu khi thu được 8 bit mà có tổng số bit 1 là số lẻ tức là có lỗi trong 8 bit đó
thể phát hiện lỗi Việc thêm thông tin này làm
tăng tốc độ lập tin (do tăng n0)
Trang 6Các thông số của mã hiệu
1 Cơ số của mã hiệu (m) : là số ký hiệu khác nhau
được sử dụng trong mã hiệu
o Ở ví dụ trên: ta dùng 2 ký hiệu khác nhau là ‘0’ và ‘1’ -> m=2Ở ví dụ trên: ta dùng 2 ký hiệu khác nhau là ‘0’ và ‘1’ -> m=2
o Ở bộ mã Morse dùng trong điện báo có 3 ký hiệu khác nhau
là ‘.’, ‘_’, ‘ ‘ ->
là ‘.’, ‘_’, ‘ ‘ -> m=3m=3
Trang 7Các thông số của mã hiệu
2 Độ dài của từ mã (n) : là số ký hiệu trong mỗi từ
mã.
o Mã đều: các từ mã có độ dài bằng nhau
– Ở ví dụ dùng thêm một bit kiểm tra chẵn lẽ cho từng Ở ví dụ dùng thêm một bit kiểm tra chẵn lẽ cho từng
nhóm 7 bit đề thành nhóm 8 bit -> mã đều, n=8 -> mã đều, n=8
o Mã không đều: các từ mã có độ dài không bằng nhau
– Ở bộ mã Morse Ở bộ mã Morse dùng trong điện báo có các từ mã
không đều nhau (A=‘ _’; B=‘_ ’) ->
không đều nhau (A=‘ _’; B=‘_ ’) -> mã không mã không
đều, có độ dài n = 1, 2, 3, 4, 5
Trang 8Các thông số của mã hiệu
2 Độ dài của từ mã (n) : - tiếp theo
❂ Với bộ mã không đều, ta có khái niệm độ dài
trung bình của các từ mã:
o Cho nguồn tin {A, p(ai), i=1 n)}
o Độ dài trung bình của các từ mã là:
o Với N là số từ mã, p(ai) và ni là xác suất xuất hiện
và độ dài tương ứng của từng từ mã.
Trang 9Các thông số của mã hiệu
3 Số từ mã khác nhau trong bộ mã (N) :
o Nếu N = mn ta có mã đầy
– Ví dụ, ta sử dụng bộ mã đều, cơ số 2 (‘0’, ‘1’) có độ dài các từ mã là 8 Tức là m=2, n=8
– Nếu ta sử dụng 28 = 256 từ mã thì đây là bộ mã đầy
o Nếu N < mn ta có mã vơi
– Ở ví dụ trên nếu ta sử dụng ít hơn 256 từ mã, tức là
ta có bộ mã vơi.
Trang 10Điều kiện thiết lập mã hiệu
1 Điều kiện phân tách được : việc mã hoá và giải
mã phải là 1-1.
❂ Ví dụ: một nguồn tin có 4 tin {a, b, c, d} Ta mã
hoá với mã hiệu như sau:
o a -> 00; b -> 01; c -> 10; d -> 11
o Giả sử bản tin cần mã hoá là: (acdba)
o Mã hoá thành: (0010110100)
o Giải mã trở lại: (acdba)
o Ta chỉ có một kết quả mã hoá và giải mã
o Thoả mãn điều kiện phân tách được
Trang 11Điều kiện thiết lập mã hiệu
❂ Ví du trênï: một nguồn tin có 4 tin {a, b, c, d} Ta
mã hoá với mã hiệu như sau:
o a -> 0; b -> 1; c -> 10; d -> 11
o Giả sử bản tin cần mã hoá là: (acdbaGiả sử bản tin cần mã hoá là: (acdba)
o Mã hoá thành: (0101110)
o Giải mã trở lại: (ababbbaGiải mã trở lại: (ababbba) hoặc (acdba) hoặc (acdba)
o Ta có hơn một kết quả mã hoá và giải mã
o Không thoả mãn điều kiện phân tách được
Trang 12Điều kiện thiết lập mã hiệu
2 Điều kiện hiệu quả kinh tế : việc mã hoá phải sử
dụng các từ mã càng ngắn càng tốt.
3 Điều kiện thời gian xử lý : việc mã hoá phải và
giải mã phải đơn giản, càng ít trễ càng tốt.
Trang 13Biểu diễn mã hiệu
các tin từ nguồn tin gốc trong quá trình mã hoá.
trong bộ mã hiệu.
1 Bảng mã (phổ biến nhất)
2 Đồ hình mã
3 Hàm cấu trúc của mã
Trang 14Biểu diễn mã hiệu-Bảng mã Biểu diễn mã hiệu-Bảng mã
o Bảng đối chiếu
o Mặt phẳng toạ độ
mã hiệu như sau:
Trang 15Biểu diễn mã hiệu-Bảng mã Biểu diễn mã hiệu-Bảng mã
❂ Bảng đối chiếu có dạng như sau :
dễ đối chiếu.
256) thì rất khó biểu diễn.
Trang 16Biểu diễn mã hiệu-Bảng mã Biểu diễn mã hiệu-Bảng mã
❂ Mặt phẳng toạ độ có dạng như sau : trên mặt
phẳng toạ độ decac, trục tung là trục trọng số
b, trục hoành là số ký hiệu trong từ mã.
Trong đó:
o n là độ dài từ mã
o M là cơ số của bộ mã.
o Thông thường m=2, nên bk = (0;1)
b
1
1
Trang 17Biểu diễn mã hiệu-Bảng mã Biểu diễn mã hiệu-Bảng mã
❂ Với ví dụ trên : Ta tính các giá trị b như
Trang 18Biểu diễn mã hiệu-Bảng mã Biểu diễn mã hiệu-Bảng mã
1 2 3 4
Trang 19Biểu diễn mã hiệu-Bảng mã Biểu diễn mã hiệu-Bảng mã
❂ Cho bộ mã có dạng như sau :
Trang 20Biểu diễn mã bằng đồ hình mã
o Đồ hình cây
o Đồ hình kết cấu (tự nghiên cứu)
Trang 21Biểu diễn mã bằng đồ hình cây
0
0
1 1
Chú ý: Từ mã phải nằm ở nút cuối, tức là từ
đó không có rẽ nhánh tiếp.
Mức gốc Mức 1 Mức 2 Mức 3
Trang 22Biểu diễn mã bằng đồ hình cây
mã hiệu như sau:
❂ Ưu điểm của phương pháp đồ hình cây?
Trang 23Biểu diễn mã hiệu
mã hiệu như sau:
-Bảng đối chiếu
- Mặt phẳng tọa độ
- Đồ hình cây
Trang 24Tính Prefix
❂ Mã có tính phân tách được: Điều kiện cần và đủ
để mã có tính phân tách được là bất kỳ tổ hợp mã nào cũng không được trùng với phần đầu của tổ hợp mã khác
o Ví dụ: một nguồn tin có 4 tin {a, b, c, d} Ta mã hoá với mã
hiệu như sau:
– a -> 00; b -> 01; c -> 10; d -> 11
– Nguồn tin này thoả mãn điều kiện phân tách được.
o Nếu Ta mã hoá với mã hiệu như sau:
– a -> 0; b -> 1; c -> 10; d -> 11
– Nguồn tin không thoả mãn điều kiện phân tách được
Trang 25Tính Prefix
tiền tố của từ mã đã cho.
o Ví dụ: cho từ mã 11001010, prefix của từ mã này là các tổ
Trang 26Tính Prefix
❂ Mã có tính prefix: Bộ mã được gọi là có tính
prefix nếu bất kỳ tổ hợp mã nào cũng không phải là prefix của tổ hợp mã khác trong cùng bộ mã.
tách được.
Trang 27Mã hệ thống có tính Prefix
❂ Mã hệ thống có tính prefix là một trong hai loại
hiện:
o Thành lập mã
o Mã hoá
o Giải mã
Trang 28Mã hệ thống có tính Prefix –
Thành lập mã
❂ Thành lập mã hệ thống có tính prefix bao gồm 3
bước:
bước:
o Bước 1: Chọn một bộ mã đơn giản có tính prefix: Chọn một bộ mã đơn giản có tính prefix
o Bước 2: Lấy một số tổ hợp mã ở bước 1 làm tổ hợp cơ sở: Lấy một số tổ hợp mã ở bước 1 làm tổ hợp cơ sở, các
tổ hợp còn lại của bước 1 được gọi là
tổ hợp còn lại của bước 1 được gọi là tổ hợp cuốitổ hợp cuối
o Bước 3: Ghép một hoặc một số tổ hợp cơ sở với nhau rồi : Ghép một hoặc một số tổ hợp cơ sở với nhau rồi
cộng thêm vào cuối một tổ hợp cuối, ta được 1 từ mã Thực hiện như vậy cho đến khi có đủ số từ mã cần dùng
Trang 29Mã hệ thống có tính Prefix –
Thành lập mã
❂ Ví dụ1 : thành lập bộ mã hệ thống có tính prefix
để mã hoá nguồn tin: A={a1, a2, a3, a4, a5}
o Bước 1: Chọn bộ mã đơn giản có tính prefix: 1, 01, 000, 001: Chọn bộ mã đơn giản có tính prefix: 1, 01, 000, 001
o Bước 2:
– Chọn 1, 01, 000 Chọn 1, 01, 000 làm tổ hợp cơ sở làm tổ hợp cơ sở
– Tổ hợp còn lại: 001 Tổ hợp còn lại: 001 là tổ hợp cuối là tổ hợp cuối
o Bước 3: Ghép thành các tổ hợp mã:
– 1001 ; 01 ; 01 001 , 1000 , 1000 001 , 101 , 101 001 , 000 , 000 001
a1 a2 a3 a4 a5
Trang 31Mã hệ thống có tính Prefix –
Thành lập mã
❂ Ví dụ : thành lập bộ mã hệ thống có tính prefix để
mã hoá nguồn tin: A={a1, a2, a3, a4, a5, a6, a7, a8}
Trang 32Mã hệ thống có tính Prefix – Mã hoá
❂ Mã hoá : thực hiện tại đầu phát tin, là biến đổi
các tin của bản tin thành các tổ hợp mã tương ứng.
❂ Ví dụ, nguồn tin trên phát bản tin:
X=(a1, a3, a5, a4, a2, a1, a1).
o Mã hoá ta được:
(100110000010000011010010100110011001) 100110000010000011010010100110011001
Trang 33Mã hệ thống có tính Prefix –
Giải mã
❂ Giải mã bao gồm 3 bước, thực hiện tại đầu thu
tin:
o Bước 1: Phân tách chuỗi tin thu được thành các tổ hợp cơ sở
và tổ hợp cuối
o Bước 2: Nhóm thành các tổ hợp mã hệ thống
o Bước 3: Biến đổi từ các tổ hợp mã hệ thống thành các tin
tương ứng
Trang 34Mã hệ thống có tính Prefix –
Trang 35Mã hệ thống có tính Prefix –
Nhận xét
❂ Mã hệ thống có tính Prefix có ưu điểm ưu điểm :
o Có tính chống nhiễu
o Có tính bảo mật cao
o Trong ví dụ trên, độ dài từ mã lớn-> hiệu suất truyền tin giảm
Tuy nhiên độ dài từ mã càng tăng thì tính bảo mật càng tăng
Trang 36Mã hệ thống có tính Prefix –
Thành lập mã
❂ Ví dụ 2 : thành lập bộ mã hệ thống có tính prefix
để mã hoá nguồn tin: U={u1, u2, u3, u4, u5, u6}.
o Giả sử nguồn tin trên phát bản tin:
X=(u6, u5, u3, u2, u2, u3, u4, u1)Mã hoá và giải mã bản tin theo bộ mã vừa thành lập
Trang 37Mã hệ thống có tính Prefix –
Thành lập mã
❂ Ví dụ 3 : thành lập bộ mã hệ thống có tính prefix
để mã hoá nguồn tin: U={a1, a2, a3, a4, a5, a6, a7}.
o Giả sử nguồn tin trên phát bản tin:
X=(a2, a2, a7, a7, a6, a5, a3, a2, a4, a1)Mã hoá và giải mã bản tin theo bộ mã vừa thành lập
Trang 38Ki ểm tra mã có tính Prefix?
Trang 39Mã thống kê tối ưu
hiện không đều.
hoá sẽ dài hơn phương pháp mã hoá mà ở đó:
o Tin xuất hiện nhiều dùng từ mã ngắn
o Tin xuất hiện càng ít dùng từ mã càng dài
❂ Loại mã không đều này được gọi là mã Loại mã không đều này được gọi là mã
thống kê tối ưu
Trang 40Mã thống kê tối ưu
❂ Ví dụ : mã Morse dùng trong điện báo là mã
thống kê tối ưu Ở đó:
o Chữ E và chữ T xuất hiện nhiều nhất nên mã hoá một ký
Trang 41Mã thống kê tối ưu
ưu:
o Phương pháp Fano
o Phương pháp Hauffman
❂ Bài toán: Cho nguồn tin {U, P(ui), i=1 n} Cần mã
hoá nguồn tin trên theo mã thống kê tối ưu.
Trang 42Mã thống kê tối ưu - Fano
o B1: Xắp xếp các tin theo thứ tự giảm dần của xác suất xuất
hiện
o B2: Chia các tin thành 2 nhóm từ trên xuống có xác suất xuất
hiện gần bằng nhau nhất Một nhóm được gắn bit ‘0’ Nhóm còn lại là ‘1’
o B3: Thực hiện lại bước 2 cho từng nhóm Lặp lại như vậy cho
đến khi mỗi nhóm chỉ là 1 tin
o B4: Các bit đã được gán theo thứ tự chính là từ mã của từng
tin
Trang 43Mã thống kê tối ưu - Fano
lập bộ mã thống kê tối ưu để mã hoá nguồn tin đó:
Trang 44Mã thống kê tối ưu - Fano
❂ Giải: Bước 1 Bước 1 , xắp xếp theo thứ tự giảm dần của
xác suất xuất hiện
Trang 45Mã thống kê tối ưu - Fano
Trang 46Mã thống kê tối ưu - Fano
Trang 47Mã thống kê tối ưu - Fano
Trang 48Mã thống kê tối ưu - Fano
Trang 49Mã thống kê tối ưu - Fano
Trang 50Tin gốc u1 u2 u3 u4 u5 u6 u7
Mã thống kê tối ưu - Fano
Kết quả
Trang 51Mã thống kê tối ưu - Fano
❂ Ví dụ 2 (bài tập) : Giả sử một nguồn tin gồm 8 tin
như sau, lập bộ mã thống kê tối ưu để mã hoá nguồn tin đó:
Trang 52Mã thống kê tối ưu -Hauffman
o B1: Xắp xếp các tin theo thứ tự giảm dần của xác suất xuất
hiện
o B2: Nhóm hai tin cuối thành 1 tin phụ với xác suất xuất hiện
của tin phụ bằng tổng xác suất xuất hiện của hai tin cuối đó
o B3: Các tin còn lại (ngoại trừ 2 tin cuối) và tin phụ tạo thành
nguồn tin trung gian
o B4: Quay lại từ bước 1 với nguồn tin trung gian và lặp lại cả 4
bước n-2 lần
o B5: Tiến hành điền các bit tạo thành từ mã
Trang 53Mã thống kê tối ưu - Hauffman
lập bộ mã thống kê tối ưu để mã hoá nguồn tin đó:
Trang 54Mã thống kê tối ưu - Hauffman
Trang 55Mã thống kê tối ưu - Hauffman
Trang 56Mã thống kê tối ưu - Hauffman
Trang 57Mã thống kê tối ưu - Hauffman
Trang 58Mã thống kê tối ưu - Hauffman
Trang 59Mã thống kê tối ưu -
Trang 60Mã thống kê tối ưu -
Trang 61Mã thống kê tối ưu -
Hauffman
0,42 0,42 00,42 0,42 0
u1 0,34 0,34 0,34 0,34 0,34 10
0,24 0,24 110,24 0,24 11
u2 0,23 0,23 0,23 0,23 00
u3 0,19 0,19 0,19 0,19 01
0,140,14 u4 0,10 0,10 0,10 u5 0,07 0,07 u6 0,06
0,58 1
Trang 62Mã thống kê tối ưu -
Hauffman
0,42 0,42 00,42 0,42 0
u1 0,34 0,34 0,34 0,34 0,34 10
0,24 0,24 110,24 0,24 11
u2 0,23 0,23 0,23 0,23 00
u3 0,19 0,19 0,19 0,19 01
0,14 1100,14 110
u4 0,10 0,10 0,10 111
u5 0,07 0,07 u6 0,06 0,58 1
Trang 63Mã thống kê tối ưu -
Hauffman
0,42 0,42 00,42 0,42 0
u1 0,34 0,34 0,34 0,34 0,34 10
0,24 0,24 110,24 0,24 11
u2 0,23 0,23 0,23 0,23 00
u3 0,19 0,19 0,19 0,19 01
0,14 1100,14 110
u4 0,10 0,10 0,10 111
u5 0,07 0,07 1100
u6 0,06 0,58 1
Trang 64Mã thống kê tối ưu -
Hauffman
ui p(ui) I II III IV V Từ mã
0,42 0,42 0 0,42 0,42 0
u 1 0,34 0,34 0,34 0,34 0,34 10
0,24 0,24 11 0,24 0,24 11
u 2 0,23 0,23 0,23 0,23 00
u 3 0,19 0,19 0,19 0,19 01
0,14 110 0,14 110
u4 0,10 0,10 0,10 111
u 5 0,07 0,07 1100
u 6 0,06 11010
0,07 1101 0,07 1101
0,58 1
Trang 65Tin gốc u1 u2 u3 u4 u5 u6 u7
Mã thống kê tối ưu - Hauffman
Kết quả
Trang 66Mã thống kê tối ưu - Hauffman
❂ Ví dụ 2 (bài tập) : Giả sử một nguồn tin gồm 8 tin
như sau, lập bộ mã thống kê tối ưu để mã hoá nguồn tin đó:
Trang 67Mã thống kê tối ưu
❂ Ví dụ 3 : Một nguồn tin gồm 8 tin sau, lập bộ mã
thống kê tối ưu theo Fano theo Fano và Hauffman và Hauffman để mã hoá nguồn tin đó:
Trang 68Phương pháp Shannon
❂ Link