Tải bản đầy đủ (.pptx) (50 trang)

tài liệu mã hóa kênh truyền

Bạn đang xem bản rút gọn của tài liệu. Xem và tải ngay bản đầy đủ của tài liệu tại đây (807.19 KB, 50 trang )

CHƯƠNG 5
Mã hóa kênh truyền
1

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.

Mã khối tuyến tính

Định nghĩa

Ma trận kiểm tra

Mạch mã hóa

Giải mã

Syndrome và sự phát hiện lỗi

Sửa lỗi
Nội dung
2
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.
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
Phát
Thu



 !""#$%&


'(!")*
⇒+",-./01,%/0&

23,334
 )1*56





)#7

*
7
5
Khái niệm về mã phát hiện sai và sửa sai.

'3-3+
/
5%


'+5%

&

'!%

8%


)- *

9-3- 3": 

;3<
Σ
5<
#
=<
%
=&&&=<


<
#
1<
%
1&&<

  3>#1%&&&"&

9- 3>#"3
6
Cơ chế phát hiện sai của mã hiệu.

+

E
n

k
1
2
2
1
2
2
+

n
n
k

Troùng soỏ Hamming >3?)*,3@3 3>&

A!
#
5#//#/##?)
#
*5B

C3%>
#
1
%
31!)
#
1
%
*@D3 33&


A!
%
5/#///##!)
#
1
%
*5E33>@/1#>E

Khoaỷng caựch Hamming %>
#
1
%
5>-
#

%

!)
#
1
%
*5?)
#

%
*&

#
5#//#/##


%
5/#///##

#

%
5##/#///?)
#

%
*5E5!)
#
1
%
*
Kh nng phỏt hin v sa sai

9-3- 3
!≥=# 

ví duï5#→!≥%F5%→!≥E
5G→!≥H

9-3- 3>!≥%=#
5#→!≥EF5%→!≥GF5G→!≥##
8
Điều kiện phát hiện sai

Ví dụ>34)G1%*3I?5%,3@ 3


 J56
%
#
(6
E
#
 (
%
=6
%
%

%
6
E
%

%
(
 5#/
7E
⇒ J≈H
%
5H&#/
7H
D3#/
H
41#/
E

44@:3H4
3&
9
Hệ số sai không phát hiện được

K 3;&

KL

K!<&

:
L5;⊕<
;5L⊕<
<5;⊕L

9>3@ E :&
10
Phöông trình ñöôøng truyeàn

Vector sai<5)
/
1
#
1M1

*

Vớ duù<5)#//#/#/*>@/1E1G


;33%cụ cheỏ sửỷa loói

Cụ cheỏ ARQ)NL L(7c ch t ng phỏt li* 33)
3*&3E!4

6NLO!P) !?NLO*

6NLO(+>)+4NLO*&

6NLO> $ &

Cụ cheỏ FEC )Q?!<6* 3>!3"&

C3)#*!31I1>M

C3)R%*!3S6I1 1;1;41;4S1
- K6M
11
Vector sai cụ cheỏ sửỷa loói
Mã khối tuyến tính
12

Mã khối tuyến tính được xây dựng dựa trên các kết quả của đại số tuyến tính là một lớp mã được
dùng rất phổ biến trong việc chống nhiễu.

Định nghĩa:

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

k
từ mã
hình thành một không gian vectơ k chiều 2
n
,

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.
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
(g
0
,g
1
,…,g
k-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: g
i
= (g
i0

, g
i1
… g
i(n-1)
) với i = 0, 1, …, k-1
)1, ,1,0}1,0{(

111100
−=∀∈
+++=
−−
kia
gagagaw
i
kk














=













=
−−−−



×
)1)(1(1)1(0)1(
)1(11110
)1(00100
1
1
0




nkkk
n

n
k
nk
ggg
ggg
ggg
g
g
g
G


Cách mã hóa
14

Nếu u = (a
0
,a
1
,…,a
k-1
) , với a
i
=0/1 và 0≤i ≤k-1, là thông tin cần được mã hóa.

K 35
/

#
M&

7#
1A3
T
5/$#>/≤T≤7# 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 = a
0
g
0
+ a
1
g
1
+…+ a
k-1
g
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ủa bộ mã.

U33

74- C4
←9!
Ví dụ
15

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


Nếu u = (u
0
u
1
u
2
u
3)
= (1101) là thông tin cần mã hóa thì từ mã tương ứng là:
t
0
= u
0
.1 + u
1
.0 + u
2
.1 + u
3
.1 = u
0
+ u
2
+ u
3
= 1 + 0 +1 = 0
t
1
= u
0

.1 + u
1
.1 + u
2
.1 + u
3
.0 = u
0
+ u
1
+ u
2
= 1+ 1 +0 = 0
t
2
= u
0
.0 + u
1
.1 + u
2
.1 + u
3
.1 = u
1
+ u
2
+ u
3
= 1+0+ 1 = 0

t
3
= u
0
.1 + u
1
.0 + u
2
.0 + u
3
.0 = u
0
= 1
t
4
= u
0
.0 + u
1
.1 + u
2
.0 + u
3
.0 = u
1
= 1
t
5
= u
0

.0 + u
1
.0 + u
2
.1 + u
3
.0 = u
2
= 0
t
6
= u
0
.0 + u
1
.0 + u
2
.0 + u
3
.1 = u
3
= 1

=> w = (0001101)













=










=
×
1
1
0
0
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
74
)
/
1

#
1
%
1
E
*
##/#///
/##/#//
###//#/
#/#///#
==
~~
.Gut

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 (không gian mã) có thể có nhiều ma trận sinh khác nhau cùng biểu diễn.

Mỗi ma trận sinh tương ứng với một cách mã hóa khác nhau.
16
Ma trận sinh
Cách giải mã
17

Từ ma trận sinh ở ví dụ trước, gọi: u = (a
0
, a
1
, a
2

, a
3
) là thông tin, w = (b
0
, b
1
, b
2
, b
3
, b
4
,
b
5
, b
6
) là từ mã tương ứng.

Ta có hệ phương trình liên hệ giữa u và w
w = u x G ↔ b
0
= a
0
+ a
1
+ a
3
(1)
b

1
= a
0
+ a
2
(2)
b
2
= a
1
+ a
3
(3)
b
3
= a
0
+ a
1
(4)
b
4
= a
1
(5)
b
5
= a
2
(6)

b
6
= a
2
+ a
3
(7)












=













=
×
1
1
0
0
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
74
g
g
g
g
G
Cách giải mã (tt)
18

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

Chọn các phương trình (4), (5), (6), (7) ta giải được:
a
0
= b
3
+ b
4
a
1
= b

4
a
2
= b
5
a
3
= b
5
+

b
6

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.












=













=
×
1
1
0
0
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
74
g
g
g
g
G
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
Ma trận sinh hệ thống
20

Ví dụ:












=
×
1
1
1
0
0
1

1
1
1
1
0
1
1
0
0
0
0
1
0
0
0
0
1
0
0
0
0
1
)74(ht
G
Mã hóa
u = 1101 → w = u x G
ht
= 1101000
Giãi mã
w = 0110100 → u = 0110

[ ]


















==
−×
−−−
−−
−−
×
−×
−−
  











)(
)1)(1(
)1(0
1)1(
11
01
0)1(
10
00
)(
)1(1
1
0
0
0
1
0
0
0
1
|
knk

knk
kn
kk
kk
knkkknk
P
P
P
P
P
P
P
P
P
PIG
kn
xét mã khối tuyến tính C(7,4)có thông báo cần mã hóa
u = (u
0
, u
1
, u
2
, u
3
) & từ mã phát đi tương ứng
t = (t
0
, t
1

, t
2
, t
3
, t
4
, t
5
, t
6
)
Cho G(4,7) dạng không chính tắc ta đi tìm G(4,7) dạng chính tắc:
Ví dụ


G(4,7)=
1 1 0 1 0 0 0
0 1 1 0 1 0 0
0 0 1 1 0 1 0
0 0 0 1 1 0 1
(1)
(2)
(3)⇒ =
(4)
1 1 0 1 0 0 0
0 1 1 0 1 0 0
1 1 1 0 0 1 0
1 0 1 0 0 0 1
1’=1
2’=2

3’=1+3
4’=1+2+4
)7,4(
~
G
21
Cho tin cần phát đi: u = (u
0
, u
1
, u
2
, u
3
) = (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
Ví dụ
V
V
)
/
1
#
1
%
1
E
*
##/#///
/##/#//

###//#/
#/#///#
==
~~
.Gut
t
0
= u
0
.1 + u
1
.0 + u
2
.0 + u
3
.0 = u
0
= 1
t
1
= u
0
.1 + u
1
.1 + u
2
.0 + u
3
.0 = u
0

+ u
1
= 1+0 = 1
t
2
= u
0
.0 + u
1
.1 + u
2
.1 + u
3
.0 = u
1
+ u
2
= 0+1 = 1
t
3
= u
0
.1 + u
1
.0 + u
2
.1 + u
3
.1 = u
0

+ u
2
+ u
3
= 1+1 + 1 = 1
t
4
= u
0
.0 + u
1
.1 + u
2
.0 + u
3
.1 = u
1
+ u
3
= 0+1 = 1
t
5
= u
0
.0 + u
1
.0 + u
2
.1 + u
3

.0 = u
2
= 1
t
6
= u
0
.0 + u
1
.0 + u
2
.0 + u
3
.1 = u
3
= 1
Vậy ta có từ mã phát đi t = (1 1 1 1 1 1 1) không có dạng mã khối tuyến tính
22

(u
0
, u
1
, u
2
, u
3
)
1 1 0 1 0 0 0
0 1 1 0 1 0 0

1 1 1 0 0 1 0
1 0 1 0 0 0 1
==
~~
.Gut
t
0
= u
0
.1 + u
1
.0 + u
2
.1 + u
3
.1 = u
0
+ u
2
+ u
3
= 1 + 1 +1 = 1
t
1
= u
0
.1 + u
1
.1 + u
2

.1 + u
3
.0 = u
0
+ u
1
+ u
2
= 1+ 0 + 1 = 0
t
2
= u
0
.0 + u
1
.1 + u
2
.1 + u
3
.1 = u
1
+ u
2
+ u
3
= 0+1+ 1 = 0
t
3
= u
0

.1 + u
1
.0 + u
2
.0 + u
3
.0 = u
0
= 1
t
4
= u
0
.0 + u
1
.1 + u
2
.0 + u
3
.0 = u
1
= 0
t
5
= u
0
.0 + u
1
.0 + u
2

.1 + u
3
.0 = u
2
= 1
t
6
= u
0
.0 + u
1
.0 + u
2
.0 + u
3
.1 = u
3
= 1
Vậy ta có từ mã phát đi: ( 1 0 0 1 0 1 1) có dạng mã khối tuyến tính
23
Ví dụ
24

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.













=
×
1
0
1
1
1
0
0
0
0
1
1
0
1
1
0
1
0
0
1
0

0
0
0
1
1
1
1
1
74
G












=
×
1
1
1
1
1
0

0
0
0
0
1
0
1
1
0
1
0
1
1
0
0
0
1
1
1
0
0
1
74
G
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 S
d
là tập tất cả các vectơ v trong V sao cho:

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

S
d
được gọi là không gian bù trừ trực giao của S và ngược lại.
0, =×∈∀ vuSu

×