1. Trang chủ
  2. » Kỹ Thuật - Công Nghệ

LÝ THUYẾT THÔNG TIN CHƯƠNG II: LÝ THUYẾT MÃ

7 195 1

Đang tải... (xem toàn văn)

THÔNG TIN TÀI LIỆU

Thông tin cơ bản

Định dạng
Số trang 7
Dung lượng 217,42 KB

Các công cụ chuyển đổi và chỉnh sửa cho tài liệu này

Nội dung

- Quá trình mã hóa là sử dụng mã hiệu để biểu diễn các tin của nguồn tin Mã hiệu Nguồn tin Từ mã - Khái niệm: Mã hóa là phép biến đổi từ một tập tin này thành tập tin khác có đặc tính t

Trang 1

CHƯƠNG II: LÝ THUYẾT MÃ

I 2.1 Khái niệm và phân loại

II 2.1.1 Một số khái niệm cơ bản

- Mã hiệu: là một tập hữu hạn các kí hiệu riêng (symbol) hay bảng chữ riêng có phân bố xác suất thỏa mãn một số yêu cầu quy định

- Quá trình mã hóa là sử dụng mã hiệu để biểu diễn các tin của nguồn tin

Mã hiệu

Nguồn tin Từ mã

- Khái niệm: Mã hóa là phép biến đổi từ một tập tin này thành tập tin khác có đặc tính thống kê yêu cầu

- Một số khái niệm cơ bản:

+ Cơ số mã (q): Là số ký hiệu để tạo thành bảng mã

+ Từ mã: Là một tập hợp của các ký hiệu mã

+ Chiều dài từ mã (li): Là số ký hiệu để tạo thành một từ mã

+ Chiều dài từ mã trung bình được xác định bằng

1

(x )

L

i i i



Trong đó:

p(x )i : xác suất xuất hiện tin xicủa nguồn X sẽ được mã hoá

+ Bộ mã đều: là bộ mã mà tất cả từ mã có chiều dài bằng nhau

+ Bộ mã không đều: là bộ mã mà tất cả từ mã có chiều dài khác nhau

+ Trọng số của từ mã (b)

1 1

l i i i



Với  : Giá trị bit tại vị trí ii

l: Chiều dài từ mã

q: Cơ số mã

2.1.2 Mục đích mã hóa thông tin

- Sự mã hoá thông tin cho phép chúng ta ký hiệu hoá thông tin hay sử dụng các ký hiệu quy ước

để biểu diễn bản tin ở dạng phù hợp cho nơi sử dụng Chính nhờ mã hoá chúng ta có thể nhìn thấy hay hiển thị được thông tin có bản chất là các khái niệm vì thông tin là hiểu biết của con người

- Đối với một hệ thống truyền tin, việc mã hoá sẽ cho phép tăng tính hữu hiệu và độ tin cậy của

hệ thống truyền tin Từ đó làm tăng tốc độ truyền tin và khả năng chống nhiễu

- Khi tốc độ lập tin R của nguồn còn cách xa thông lượng C của kênh, nhiệm vụ của mã hoá là biến đổi tính thống kê của nguồn làm cho tốc độ lập tin tiếp cận với khả năng truyền của kênh Trong trường hợp truyền tin trong kênh có nhiễu, điều cần quan tâm là sự chính xác của sự truyền tin Đây là nhiệm vụ quan trọng của mã hoá

2.1.3 Phân loại

- Phân loại làm 2 phương pháp chính:

+ Mã hóa nguồn (Mã hóa Entropy): Shannon, Fano, Huffman…

+ Mã hóa kênh: Mã khối tuyến tính, mã Hamming, mã vòng…

II.2 Mã hóa nguồn

II.2.1 Khái niệm

- a Khái niệm: Mã hóa nguồn được dùng để loại bỏ những phần dư thừa không cần thiết còn tồn tại trong nguồn, từ đó biểu diễn thông tin với tài nguyên tối thiểu

b Một số phương pháp biểu diễn mã

- Bảng đối chiếu mã: Là cách liệt kê các tin của nguồn và từ mã tương ứng trong một bảng

Trang 2

Tin a1 a2 a3 a4

- Mặt toạ độ mã: Là cách biểu diễn mỗi từ mã wa a a0 1 l1 bằng một điểm (l,b) trong mặt phẳng toạ độ 2 chiều Trong đó l là chiều dài từ mã còn b là trọng số của từ mã được tính như sau với m là cơ số mã

1 0

.w

l

k k k

ba



- Cây mã: Là cách biểu diễn các từ mã bằng các nút lá của một cây Mỗi nút là biểu diễn cho từ

mã trùng với nhãn của con đường đi từ nút gốc đến nút lá này

 Mã có cơ số m thì cây mã tương ứng sẽ là cây m phân

 Phương pháp cây mã chỉ cho phép biểu diễn những mã prefix, tức là không có từ mã nào trùng với phần đi đầu của một từ mã khác

b Điều kiện phân tách mã

- Điều kiện cần và đủ để một bộ mã là phân tách được là không có bất kỳ từ mã nào trùng với phần đầu của từ mã khác của cùng bộ mã

c Nguyên lý của mã hoá nguồn

- Mã hóa nguồn giảm dư thừa thông tin, dẫn đến giảm số lượng số liệu biểu diễn thông tin ( giảm số bit)

- Hiệu suất mã hóa:

( ) 1

H A h

l

+ h càng cao càng tốt Như vậy l càng nhỏ, càng giảm tốc độ lập tin của nguồn=> giải mã được tức thời

II.2.2 Mã Shannon – fano

a Phương pháp mã hóa shannon

- Giả sử có nguồn X { , , , }x x1 2 x n có xác suất xuất hiện tương ứng của các tin trong nguồn là:

( ) {p( ), ( ), , ( )}n

- Quy tắc mã hóa:

+ Bước 1: Sắp xếp nguồn tin theo thứ tự xác suất giảm dần

+ Bước 2: Thay thế xác suất ( )p x bằng xác suất i p theo biểu thức: i

1 0

( )

i

j



Với p x( )j

là các giá trị xác suất đã được sắp xếp chiều dài P1 =0

+ Bước 3: xác định chiều dài từ mã l theo biểu thức i

logp x i logp x i 1

i

l

Trang 3

+ Bước 4: Chuyển ( )p i 10 thành ( )p Lấy từ sau dấu phẩy đúng bằng chiều dài từ mã i 2 l ta thu i

được bộ mã cần tìm

b

c, Phương pháp mã hóa Fano

- Giả sử có nguồn X { , , , }x x1 2 x n có xác suất xuất hiện tương ứng của các tin trong nguồn là:

( ) {p( ), ( ), , ( )}n

- Quy tắc mã hóa:

+ Bước 1: Sắp xếp theo xác suất tăng dần hoặc giảm dần Quy ước là giảm dần

+ Bước 2: Chia nguồn tin thành 2 nhóm có tổng xác suất xấp xỉ nhau

+ Bước 3: Gán cho một nhóm ký hiệu 0, 1 nhóm ký hiệu 1 Quy ước: nhóm phía trên bit 0, nhóm dưới bit 1

+ Bước 4: Lặp lại bước 2 và 3 với các nhóm mới vừa nhận được cho đến khi chỉ còn 1 tin duy nhất thì dừng lại

+ Bước 5: Đọc từ mã từ trái sang phải

- Chú ý: Trong nhiều trường hợp có nhiều hơn một cách chia thành các nhóm có tổng xác suất gần bằng nhau, ứng với mỗi cách chia có thể sẽ cho ra các bộ mã có chiều dài trung bình khác nhau

2.2.3 Phương pháp mã hóa Huffman

- Năm 1952 Huffman đã đưa ra một thuật toán mã hoá dựa trên xác suất xuất hiện của các ký hiệu Thuật toán là tối ưu theo nghĩa số ký hiệu nhị phân trung bình để mã hoá cho một ký hiệu của nguồn là cực tiểu Phương pháp mã hoá này cho một bộ mã có tính prefix và tất nhiên quá trình giải mã là duy nhất

- Giả sử có nguồn X { , , , }x x1 2 x n có xác suất xuất hiện tương ứng của các tin trong nguồn là:

( ) {p( ), ( ), , ( )}n

- Quy tắc mã hóa:

+ Bước 1: Tính tần suất của các ký tự trong dữ liệu gốc (Sắp xếp ký hiệu theo thứ tự giảm dần) + Bước 2: Hai nút tự do với tần suất thấp nhất được xác định Hai nhánh được gán cho một trong hai ký hiệu 0 hoặc 1 (Quy ước: Nút con có tần suất thấp hơn ở bên trái và được mã hóa bit

“0”, nút con kia ở bên phải và được mã hóa bit “1”.)

+ Bước 3: Nút cha cho hai nút này được thiết lập Nó có tần suất bằng tổng tần suất của hai nút con

+ Bước 4: Nút cha được liệt kê vào danh sách các nút tự do và hai nút con được xóa khỏi danh sách

+ Bước 5: Các bước được lặp lại cho đến khi chỉ còn lại một nút tự do Nút này được đánh dấu

là gốc của cây

+ Bước 6: Từ mã ứng với mỗi ký hiệu của nguồn là tổ hợp các ký hiệu mã ở các nhánh của cây

mã tính từ gốc

Giải mã hóa Huffman

- Đọc vào dòng các bit một cách tuần tự và chuyển sang cây mã cho đến khi một nút mới được tìm thấy

- Khi một nút lá được xác định, đưa ra ký tự tương ứng đã được mã hóa

- Khi đọc vào bit kế tiếp, bắt đầu trở lại với gốc của cây mã

II.3.Mã hóa kênh

2.3.1.Khái niệm

- Mã hóa kênh là phương pháp mã hóa sử dụng những mã có thể truyền thông nhanh chóng, chứa đựng nhiều mã ký hợp lệ và có thể sửa lỗi hoặc phát hiện các lỗi xảy ra

- Mã kênh được dùng trên kênh truyền Trên kênh truyền cần quan tâm đến tác động của nhiễu

Trang 4

Vì vậy yêu cầu cơ bản của mã kênh là có khả năng chống nhiễu: Phát hiện sai và sửa sai.

a, Phát hiện sai

- Nguyên lý phát hiện sai: Kiểm tra xem tổ hợp đã nhận có phải là từ mã hay không, nếu không

tổ hợp nhận là sai

- Giả sử:

+ Từ mã chứa thông tin có chiều dài là k-> Tổng số từ mã chứa thông tin N  2k

+ Từ mã mang tin có chiều dài n->N 0 2n

+ N0 N: Phần dự trữ, tổ hợp cấm Đây là phần dùng để kiểm tra phát hiện sai và sửa sai + Điều kiện để phát hiện sai:

0 0

1 2 2

1

n k

N N E E

s

E là khả năng phát hiện s sai: 1

2 2

! 1

!( )!

n k

s

i

n

i n i

b Sửa sai

- Các từ mã trên kênh có chiều dài bằng nhau nên có thể biểu diễn dưới dạng vecto

- Trọng số hamming của 1 từ mã là số tọa độ # 0 của từ mã

- Khoảng cách hamming giữa 2 từ mã d(v1, v2) là số vị trí tọa độ khác nhau giữa 2 từ mã v1, v2

- Điều kiện để bộ mã phát hiện t lỗi sai là khoảng cách hamming giữa 2 từ mã bất kỳ trong bộ

mã lớn hơn hoặc bằng t+1

min

d t   d   t

- Điều kiện để bộ mã phát hiện t sai: d2t1

2.3.1.Mã khối tuyến tính

a, Định nghĩa

- Các từ mã trên kênh truyền có chiều dài bằng nhau, để tăng hiệu quả mã hóa người ta ghép các từ mã thành một khối Các từ mã lại được biểu diễn dưới dạng các ma trận và vecto nên chúng phụ thuộc tuyến tính lẫn nhau Các từ mã được biểu diễn dưới dạng các vecto với giá trị các bit là tọa độ của các vecto trong không gian Khi đó người ta gọi là mã khối tuyến tính

b, Tạo mã

-Bài toán đặt ra là: cho từ mã chứa thông tin U có chiều dài k bit: U [u u1 2 ]u k

Hãy tạo ra từ mã mang tin có chiều dài n bit: C[c c1 2 ]c n

+ Để tạo mã khối tuyến tính sử dụng một ma trận sinh G gồm k hàng, n cột Nguyên tắc tạo mã khối tuyến tính là phải xây dựng ma trận sinh G sao cho từ mã mang tin có chứa phần thông tin

cũ U và có phần kiểm tra thêm vào

+ Từ mã mang tin được tạo bằng cách: C U G 

- 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òn được gọi là phần dư thừa hay phần kiểm tra)

k bit thông tin n-k bit kiểm tra

Trang 5

11 12 1( )

|

n k

n k

 I là ma trận đơn vị

 Z là ma trận kiểm tra

[ k k k ]n

C U G  u u u c c  c

 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

n-k bit kiểm tra k bit thông tin

[ n k ]k

C U G  c c c u u u

c, Giải mã

- Để giải mã người ta sử dụng ma trận kiểm tra H Ma trận kiểm tra của một bộ mã có ma trận sinh G là ma trận H có kích thước (n-k)xn sao cho k nx

x T 0

G H 

Với mã khối tuyến tính hệ thống [ZT( ) |I( ) ( )]

n k k n k n k

H      

- Quy tắc giải mã cho mã khối tuyến tính (Dạng 1)

+ Bước 1: Giả sử thu được từ mã mang tin C Tính S=CxH T

 S=0-> Từ mã thu được là đúng, bỏ đi phần kiểm tra thu được từ mã chứa thông tin

1 2

[ ]

UCu u u

 S#0-> Từ mã thu được là sai, chuyển sang bước 2

+ Bước 2: Sửa sai Lập bảng lỗi trên cơ sở số lỗi thu được

01……0

………

00……1

Hàng 1 của H T Hàng 2 của H T

…………

Hàng n của H T

+ Bước 3: Trên cơ sở giá trị S thu được Tra bảng lỗi xác định được  Từ đó xác định được từ

mã đúng: C đ  C 

Bỏ đi phần kiểm tra ta thu được từ mã chứa thông tin

2.3.3.Mã vòng

a Định nghĩa

Mã vòng (Xyclic) là một bộ mã tuyến tính có tính chất sau: Nếu a(x) là một từ mã thì dịch vòng của a(X) cũng là một từ mã thuộc bộm mã này

- Mã vòng là mã mà các từ mã được biểu diễn dưới dạng đa thức P(x)

VD: 1010 x 3x

110001xx 1

- Đa thức mang tin ( ) 1 k 1 2 k 2 1 0

- Đa thức sinh G(x) bậc (n-k) G(x) là thừa số khi khai triển x  và có dạng: n 1

Trang 6

n k

 

- Đa thức kiểm tra H(x): x n 1 G x H x( ) ( )

 G(x) có bậc n-k

 H(x) có bậc k

- Từ đa thức sinh tạo ma trận sinh bằng cách xây dựng ma trận có các hàng có giá trị lần lượt là:

k

x G x

, x G x k2 ( ), …, xG x( ), G x( )

- Chú ý: Từ mã chạy trên một vòng tuân thủ quy tắc sau:

+ Quy tắc cộng: x kx k 0

+ Quy tắc nhân: x px qx(p q ) modn

+ Quy tắc dịch trái:

+ Quy tắc dịch phải:

b Mã hóa

- Bài toán: Cho từ mã chứa thông tin Q(x) Cho số sai có khả năng sửa là s Tìm từ mã mang tin

P(x)

- Quy tắc:

+ Bước 1: Cho từ mã chứa thông tin Q(x) xác định được k (độ dài từ mã chứa thông tin) và số sai có thể sửa sai là s Tính n dựa vào công thức:

1

2 2

! 1

!( )!

n k

s

i

n

i n i

+ Bước 2: Phân tích x  thành nhân tử Chọn G(x) là đa thức sinh có bậc cao nhất trong số n 1

các đa thức đã phân tích (đa thức sinh thường có bậc bằng n-k)

+ Bước 3:

 Nếu mã không hệ thống thì từ mã P(x)=Q(x).G(x) (Thực hiện nhanh, giải mã chậm)

 Nếu mã hệ thống thì

( ) ( ) ( )

r

r

P x x Q x R x

(Thực hiện chậm, giải mã nhanh)

c Giải mã

- Bài toán ngược của mã hóa: (Nguyên tắc cơ bản của giải mã là dựa trên phép chia dịch vòng)

Cho từ mã mang tin P(x); G(x); số sai có thể sửa s Tìm Q(x)?

Trang 7

+ Bước 1: Lấy P(x) chia G(x) Tìm được F(x) và số dư R(x).

( )

F x

 R(x)=0 thì từ mã thu được là đúng Chuyển sang bước 3

 R(x)#0 thì chuyển sang bước 2

+ Bước 2: TÍnh trọng số của R(x) Trọng số của R(x) là số bit 1 (W(R(x)))

WR x   s P x đ( )P( )xR x( )

W R x     Tiến hành dịch trái hoặc dịch phải đi một số lần cho đến khis

 

W R x  thì dừngs

( )i ( ) ( )i ( ) ( )( )

P xP xR x

Với R( )i ( )x cho bởi

( )

( )

i

Dịch theo chiều ngược lại số lần đúng bằng số lần đã dịch để tìm từ mã đúng

+ Bước 3:

 Nếu mã không hệ thống thì

( ) ( )

( )

đ

P x

Q x

G x

 Nếu mã hệ thống thì bỏ đi r bit vị trí cuối cùng của P(x) ta thu được Q(x)

Ngày đăng: 21/12/2018, 21:31

🧩 Sản phẩm bạn có thể quan tâm

w