1. Trang chủ
  2. » Giáo án - Bài giảng

bài giảng lý thuyết thông tin - bùi văn thành

50 541 8

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

Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống

THÔNG TIN TÀI LIỆU

Thông tin cơ bản

Tiêu đề Mã hóa Kênh Truyền
Tác giả Bùi Văn Thành
Chuyên ngành Lý Thuyết Thông Tin
Thể loại Bài Giảng
Định dạng
Số trang 50
Dung lượng 681,08 KB

Nội dung

Nguyên lý mã hóa kiểm soát lỗi4 • Nguyên lý chung là thêm vào tập mã cần truyền một tập bit kiểm tra nào đó để bên nhận có thể kiểm soát lỗi.. • Bên thu: Nhận thông tin bổ sung ở phía ph

Trang 1

CHƯƠNG 5

Mã hóa kênh truyền

1

Trang 2

 Khái niệm về mã phát hiện sai và sửa sai.

– Cơ chế phát hiện sai của mã hiệu

– Khả năng phát hiện và sửa sai

– Hệ số sai không phát hiện được

Trang 3

Vấn đề

3

Lỗi khi truyền dữ liệu trên một hệ thống truyền tin:

• Lỗi khi truyền tin là một điều khó tránh.

• Nguyên nhân: Do nhiễu bên ngoài xâm nhập, tác động lên kênh truyền, làm thông tin truyền đi bị sai.

1 → 0

0 → 1

• Việc khắc phục và kiểm soát lỗi là một vấn đề hết sức quan trọng.

Trang 4

Nguyên lý mã hóa kiểm soát lỗi

4

• Nguyên lý chung là thêm vào tập mã cần truyền một tập bit kiểm tra nào đó để bên nhận có thể kiểm soát lỗi

• Bên phát: Bổ sung thêm thông tin (thêm bit) vào bit cần gửi

• Bên thu: Nhận thông tin bổ sung ở phía phát, kiểm tra, phát hiện và sửa lỗi

Với n-k: bit kiểm tra

Bộ mã KSL + (n-k) bit

k bit Thông tin

k+n-k = n bit

Trang 5

 Dạng sai lầm của mã hiệu được truyền tuỳ thuộc tính

chất thống kê của kênh:

 sai độc lập dẫn đến sai ngẫu nhiên: 1 hoặc 2 sai.

 Sai tương quan dẫn đến sai chùm (sai cụm)

 Người ta thống kê: sai ngẫu nhiên xẩy ra 80%, sai chùm xảy ra 20%.

 Xác suất xuất hiện một từ mã n ký hiệu có t sai bất kỳ:

p(n,t) = Cntpst(1-ps)n-t

5

Khái niệm về mã phát hiện sai và sửa sai.

Trang 6

 E1, E2, Ei là tập hợp các vector sai 1,2 i lỗi.

 Để phát hiện và sửa hết sai 1 lỗi ta có:

1

2 2

1

2 2

n

n k

Trang 7

Trọng số Hamming của vector t: ký hiệu: w(t) được xác định theo số các thành phần

khác không của vector.

Trang 8

 Điều kiện để một mã tuyến tính có thể phát hiện được t sai:

Trang 9

Ví dụ: đối với bộ mã (5,2) có trọng số Hamming w =2 ta xác

định được hệ số sai không phát hiện được:

p’ = C21pqC31 pq2 + C22p2C32p2q nếu p = 10-3  p’  6p2 = 6.10-6 nghĩa là có 106 bit truyền đi,

103 bit bị sai thì có 6 bit sai không phát hiện được.

9

Hệ số sai không phát hiện được

Trang 10

• Gọi từ mã phát đi là T.

• Gọi từ mã nhận được là R

• Gọi từ mã sai do đường truyền gây ra là E.

 phương trình đường truyền:

Trang 11

Vector sai: E = (e0, e1, …, en)

Ví dụ: E = (1 0 0 1 0 1 0)  sai ở vị trí 0, 3, 5

Trong các hệ thống truyền số liệu cĩ 2 cơ chế sửa lỗi:

Cơ chế ARQ(Automatic Repeat Request-cơ chế tự động phát lại): cơ chế

yêu cầu phát lại số liệu một cách tự động (khi phát hiện sai) cơ chế này

cĩ 3 dạng cơ bản:

 Cơ chế ARQ dừng & chờ (stop and wait ARQ)

 Cơ chế ARQ quay ngược N vector (N go back ARQ).

 Cơ chế ARQ chọn lựa việc lặp lại.

Cơ chế FEC (Forward Error Control): phát hiện và tự sửa sai sử dụng các

loại mã sửa lỗi.

 Khi cĩ sai đơn (1 sai) người ta thường dùng các loại mã như: mã khối tuyến tính, mã Hamming, mã vịng…

 Khi cĩ sai chùm (> 2 sai) người ta thường dùng các loại mã như: mã BCH, mã tích chập, mã Trellis, mã Tubor, mã Tubor Block, mã tổng hợp GC…

11

Vector sai – cơ chế sửa lỗi

Trang 12

• Một mã khối có chiều dài n, k bit gồm 2k từ mã tuyến tính C(n,k) nếu

và chỉ nếu 2k từ mã hình thành một không gian vectơ k chiều 2n, gồm tất cả các vectơ n thành phần trên trường Galois sơ cấp GF(2) ( bao gồm 2 phần tử {0,1} với 2 phép tính + và * ).

• Mã tuyến tính C(n,k) có mục đích mã hóa những khối tin (hay thông báo) k bit thành những từ mã n bit Hay nói cách khác trong n bit của

từ mã có chứa k bit thông tin.

• Ví dụ: C (7,4): Từ mã dài 7 bit Thông tin cần truyền: 4 bit.

Trang 13

Cách biểu diễn mã – Ma trận sinh

13

• Mã tuyến tính C(n,k) là một không gian k chiều của không gian vectơ n thành phần, cho nên tồn tại k từ mã độc lập tuyến tính (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 :

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

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

)1, ,

1,0}

1,0{(

1 1 0

a

g a g

a g

a w

i

k k

1 ( 1

) 1 ( 0

) 1 (

) 1 ( 1 11

10

) 1 ( 0 01

00

1

1 0

k k

n n

k

n k

g g

g

g g

g

g g

Trang 14

Cách mã hĩa

14

• Nếu u = (a0,a1,…,ak-1) , với ai =0/1 và 0i k-1, là thơng tin cần được mã hĩa.

• Gọi t là từ mã phát đi: t = t0 t1 ….tn-1 , Với tj = 0

hoặc 1 và 0  j  k-1 thì từ mã w tương ứng với t được hình thành bằng cách lấy t x G

w = t x G = a0g0 + a1g1 +…+ ak-1gk-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ủa bộ mã.

• Mã khối tuyến tính hệ thống có cấu trúc:

n-k bits kiểm tra K bits mang tin

 Độ dài từ mã : n

Trang 15

Ví dụ

15

• Cho ma trận sinh của một mã tuyến tính C(7,4) sau:

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

0 1 0 0

0 0 1 0

0 0 1 1

1 0 1 0

0 1 0 1

1 0 1 1

g g g

g G

3 2 1 0 7

Trang 16

• Bất kỳ k từ mã độc lập tuyến tính nào cũng có thể được dùng

Trang 17

0 1 0 0

0 0 1 0

0 0 1 1

1 0 1 0

0 1 0 1

1 0 1 1

4 3 1 0

7

4

g g g g G

Trang 18

Cách giải mã (tt)

18

• Chọn bốn phương trình đơn giản nhất để giải các ai theo các b1

• Chọn các phương trình (4), (5), (6), (7) ta giải được:

a0 = b3 + b4

a1 = b4

a2 = b5

a3 = b5 + b6

• Hệ phương trình trên 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 kết quả sẽ giống nhau

0 1 0 0

0 0 1 0

0 0 1 1

1 0 1 0

0 1 0 1

1 0 1 1

4 3 1 0

7

4

g g g g G

Trang 19

Mã tuyến tính hệ thống

19

• 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)

• Dạng 2: Ngược lại 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.

.

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

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

Trang 20

0 1 1 1

1 1 0 1

1 0 0 0

0 1 0 0

0 0 1 0

0 0 0 1

) 7 4

) 1 )(

1 (

) 1 (

0

1 ) 1 (

11 01

0 ) 1 (

10 00

) (

) 1 ( 1

1

0 0

0

1 0

k n k

k n

k k

k k

k n k kk

n

k

P

P P

P

P P

P

P

P P

I

Trang 21

xét mã khối tuyến tính C(7,4)có thông báo cần mã hóa

u = (u0, u1, u2, u3) & từ mã phát đi tương ứng

)7,4

(

~

G

21

Trang 22

Cho tin cần phát đi: u = (u0, u1, u2, u3) = (1 0 1 1) ta tìm từ

mã phát đi theo 2 công thức 5 & 8 từ đó rút ra nhận xét

Trang 24

0110

1101

0010

0001

1111

1000

0010

1101

0110

0011

1001

7 4

G

Trang 25

Phát hiện sai và sửa sai

25

• 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 thì tổ hợp nhận là sai.

• Nguyên lý sửa sai: Kiểm tra xem tổ hợp nhận có khoảng cách Hamming

gần với từ mã nào nhất, thì đó chính là từ mã đúng đã phát đi.

• → Nguyên lý khoảng cách Hamming tối thiểu.

 Không gian bù trực giao:

• Cho S là một không gian k chiều của không gian V n chiều Gọi Sd là tập tất cả các vectơ v trong V sao cho:

• Sd được chứng minh là một không gian con của V và có số chiều là n-k.

• Sd được gọi là không gian bù trừ trực giao của S và ngược lại.

0

Trang 27

Ma trận kiểm tra

27

• Ma trận kiểm tra H của một bộ mã có ma trận sinh Gkxn là

ma trận có kích thước (n-k)n sao cho :

Trang 28

Cho G không hệ thống, tính H?

• VD: trên Z3, cho ma trận sinh của một mã như sau

• Ta chuyển thành ma trận sinh của mã hệ thống

tương

đương bằng một phép hoán vị p=(1,4,6,2,5,3) các cột về dạng [I | B].

• Ta tính được H* tươngứng với G* là

Trang 29

0 1 1 1

1 1 0 1

1 0 0 0

0 1 0 0

0 0 1 0

0 0 0 1

) 7 4 (

0 1 0

0 0 1

1 0 1

1 1 1

1 1 0

0 1

1

) 7 3 (

ht

H

Trang 30

Cách sửa sai

30

Syndrome – vectơ sửa sai (corrector)

 S= v x HT được gọi là Syndrome hay vectơ sửa sai của

v và được kí hiệu là s(v) v là từ mã khi và chỉ khi s(v)=0.

 Từ ma trận H(n-k)n thành phần của Syndrome như sau:

S0 = v0p00 + v1p10 + + vk-1pk-1,0 + vk

S1 = v0p01 + v1p11 + + vk-1pk-1,1 + vk+1

……….

Sn-k-1 = v0p0,n-k-1 + v1p1,n-k-1 + + vk-1pk-1,n-k-1 + vn-1

Trang 31

– Gọi từ mã phát đi : t = (t0 t1 tn-1) (1)

– Gọi từ mã thu được: r = (r0 r1 rn-1) (2)

– Vector sai : e = (e0 e1 en-1) (3)

– Trong đó ei = 1 nếu ti  ri và ei = 0 nếu ti = ri

Để phát hiện sai ta dùng thuật toán thử Syndrome:

– S = r.HT = (s0 s1 sn-k-1) (4)

gồm n-k thành phần

– S=0 nếu và chỉ nếu r là từ mã phát (r  t) hoặc là tổ hợp

tuyến tính của các từ mã (gọi là vector sai không phát hiện được)

– S  0 thì r không phải là từ mã phát đi (r  t) và do đó có sai (e  0)

Phương pháp giải mã mã khối tuyến tính:

31

Trang 32

Từ ma trận kiểm tra thành phần của Syndrome như sau:

S0 = r0 + rn-kp00 + rn-k-1p10 + + rn-ipk-1,0

S1 = r1 + rn-kp01 + rn-k-1p11 + + rn-ipk-1,1

Sn-k-1 = rn-k-1 + rn-kp0,n-k-1 + rn-k+ip11 + + rn-ipk-1,n-k-1

Từ (5) tương tự như mạch mã hóa, ta có mạch tính

Syndrome như sau:

Phương pháp giải mã mã khối tuyến tính

32

Trang 34

 Tính Syndrome của mã khối tuyến tính C(7,4) với ma trận

H đã cho với vector thu: r = (r0 r1 r2 r3 r4 r5 r6)

Trang 36

Khi xác định được một giá trị Syndrome S = (S0, S1 Sn-k-1) ta có đến 2k vector sai tương ứng, nhưng ta chỉ chọn các vector sai nào

có trọng số nhỏ nhất là vector sai có nhiều khả năng nhất

Trong thực tế khi tìm được Syndrome ta thấy S trùng với cột nào

Ví dụ: “ 1 1 1” trùng với cột thứ sáu tính từ trái sang của ma trận

H, ta kết luận vector nhận được r sai ở vị trí r5 Ta chỉ việc đổi trị

số của r5 từ 0 sang 1 hoặc ngược lại là được vector nhận được đúng (r=t)

Trang 37

Ví dụ tính Syndrome

37

• Tính Syndrome của mã khối tuyến tính C(7,4) với ma trận sinh hệ thống sau: giả sử gửi tin: u=1001 Nhận được v = 1011011 Nhận xét gì về mẫu tin nhận được.

0111

1101

1000

0100

0010

000

1

) 7 4 (

ht

G

Trang 38

Ví dụ tính Syndrome

38S(v) = v.HT = (111)

0111

1101

1000

0100

0010

0001

) 7 4

0 1 0

0 0 1

1 0 1

1 1 1

1 1 0

0 1

1

) 7 3

0

01

0

00

1

10

1

11

1

11

0

01

1

) 7 3 (

T ht

H

Trang 39

Cách sửa sai

39

• Qua ví dụ trên, ta thấy:

• S(v) = (111) trùng với cột thứ 3 của H, nên ta sửa giá trị ở vị trí thứ 3.

Trang 40

Chiều dài phần tin: k = 2m – m – 1.

Chiều dài phần kiểm tra: m = n –k

Khả năng sửa sai: t = 1

•Cấu trúc ma trận kiểm tra H với các cột là một vector m chiều khác không.

• H = [Imxm | P(n-k)k]

•Mỗi cột của ma trận P là vector m chiều, có trọng số là 2 hoặc lớn hơn.

Trang 41

Ví dụ: với m = 3, ma trận kiểm tra của mã (7,4) được viết dưới

dạng

(1)

Trong thực tế để việc tạo và giải mã Hamming một cách đơn giản người ta đổi vị trí các cột trong ma trận H Khi đó các bit kiểm tra xen kẽ với các bit mang tin chứ không còn tính chất khối, từ (1) ta có:

Trang 42

Để việc tạo mã đơn giản ta chọn các bit kiểm tra x, y, z

ở các vị trí tương ứng 2i với i = 0, 1, 2, , nghĩa là các vị trí thứ nhất, thứ hai & thứ tư của các ký hiệu từ mã: t = (x, y, u0, z, u1, u2, u3) (3)

Trang 43

t = (x, y, u0, z, u1, u2, u3)

(2)

x.0 +y.0 +u0.0 +z.1 + u1.1 + u2.1 + u3.1 =0  z = u1 + u2 + u3x.0 +y.1 +u0.1 +z.1 + u1.0 + u2.1 + u3.1 =0  y = u0 + u2 + u3x.1 +y.0 +u0.1 +z.1 + u1.1 + u2.0 + u3.1 =0  x = u0 + u1 + u3

43

Trang 44

Ví dụ:

44

Trang 45

1 1 1

1 1 0

0 1 1

1 0 0

0 1 0

0 0

1

7 3

H

Trang 46

Mã Hamming (tt)

46

• Trong thực tế để việc tạo và giải mã Hamming một cách đơn giản người ta đổi vị trí các cột trong ma trận H Khi đó các bit kiểm tra xen kẽ với các bit mang tin chứ không còn tính chất khối Và giá trị của cột hi khi này bằng i (i = 1,2,…)

• Vị trí các bit kiểm tra ở các vị trí tương ứng 2i, với i = 0,1,2,… Ứng với các vị trí tương ứng của từ mã.

0 1 1

1 0 1

0 0 1

1 1 0

0 1 0

1 0

0

7 3

H

Trang 47

0 1

1

1 0

1

0 0

1

1 1

0

0 1

0

1 0

0

Trang 49

• Nếu S(v) khác 0, ta xem giá trị s(v) trùng với cột thứ

mấy của ma trận H, thì có sai ở vị trí đó, và sửa lỗi.

Ngày đăng: 07/07/2014, 13:22

TỪ KHÓA LIÊN QUAN