Tải bản đầy đủ (.ppt) (22 trang)

Kỹ thuật mã vòng trong nguyên lý truyền thông

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 (97.77 KB, 22 trang )


Mã vòng
Định nghĩa: Một mã khối tuyến tính (n,k) đ ợc gọi là
mã vòng nếu dịch vòng của nó là một từ mã.
ví dụ: cho từ mã u = ( u
0
,u
1
u
n-1
) là tập con của S thì
dịch vòng một vị trí của u là u
1
= (u
n-1
,u
0
,u
1
u
n-2
) cũng
là một từ mã thuộc S.
Các thành phần của từ mã u = (u
0
,u
1
u
n-1
) là các hệ số
của đa thức u(x): u(x) = u


0
+u
1
x++u
n-1
.x
n-1
.
u(x) đ ợc gọi là đa thức mã.


Cấu trúc đại số của mã vòng:
Nếu u(x) là đa thức mã có bậc n-1 thì u
i
(x) với (i=n-1)
là phần d của x
i
.u(x) /x
n
+1 cũng là một từ mã.
( )
( )
( )
11
.
+
+=
+
n
i

n
i
x
xu
xq
x
xux
Hay có dạng x
i
u(x)=q(x).(x
n
+1)+u
i
(x), u
i
(x) là phần d
ví dụ: chu kì dịch vòng của từ mã u = 1101 với n = 4,
có i = n-1 = 3 biểu diễn từ mã dạng đâ thức thực hiện
dịch vòng 3 lần:
Ta có u(x) = 1+x+x
3
nên x
i
.u(x) = x
3
.u(x) = x
3
+ x
4
+x

6
,
xác định phần d u
i
(x): chia x
6
+x
4
+x
3
cho x
n
+1
(X
6
+x
4
+x
3
)/x
4
+1 = x
2
+1 d x
3
+x
2
+1 = u
3
(x)


Biểu diễn u
3
(x) ra từ mã: 1011là dịch vòng 3 lần của
u= 1101

Tính chất của mã vòng: t ơng tự nh mã tuyến tính thì
mã vòng đ ợc tạo ra từ một đa thức sinh, đa thức sinh
g(x) của mã vòng (n,k) là duy nhất và có dạng:
G(x) = g
0
+g
1
x+g
r
x
r
, g
0
=g
r
= 1.
+ Với đa thức từ mã u(x) có dạng u(x) = g(x).m(x),
u(x) là da thức bậc n-1 nên đa thức bản tin m(x) có
dạng:
M(x) = m
0
+ m
1
x+m

2
x
2
++m
n-r-1
x
n-r-1
Vậy g(x) có bậc là n-k và u(x) đ ợc biểu diễn dạng:
U(x) = (m
0
+m
1
x+m
2
x
2
+m
k-1
x
k-1
).g(x)
đặt n-r = k, r=n-k

KL:
+ đa thức g(x) là đa thức sinh của mã vòng khi và chỉ
khi g(x) chia hết cho đa thức từ mã u(x)
+ Đa thức sinh g(x) có bậc n-k là một thừa số của x
n
+1
= g(x).h(x) thì g(x) tạo ra duy nhất một mã vòng (n,k)

ví dụ: x
7
+1 = (1+x+x
3
)(1+x+x
2
+x
4
), có hai đa thức bậc
3, bậc 4
+ Nếu đa thức sinh g(x) có bậc là 3 thì g(x) = 1+x+x
3

chỉ có thể tạo ra một mã vòng duy nhất (7,4).
+ Nếu g(x) =1+x+x
2
+x
4
thì có thể tạo ra mã vòng (7,3)

Ma tr©n sinh cña m· vßng:

G(x) ®a thøc sinh cã bËc n-k cña m· C(n,k), víi k bit
th«ng tin u(u
0
u
k-1
) cã ®a thøc th«ng tin u(x). M· hãa
m· vßng u(x) = m(x).g(x) th× c
m

=(c
0
,c
1
c
n-1
)
u(x) = m(x).g(x) = u
0
+u
1
x+…u
n-1
x
n-1
Hay c
m
(x) = (m
0
+m
1
x+ m
k-1
x
k-1
)g(x)
=m
0
g(x) + m
k-1

x
k-1
g(x)
( )
[ ]
( )
( )
( )












=


xgx
xgx
xg
mmmxu
k
k
1

110
.
., ,
C
m
(x) cã d¹ng:
VËy matran G cã sè hµng b»ng sè bit th«ng tin

VËy d¹ng tæng qu¸t cña ma trËn sinh cña m· vßng
U(n,k) nh sau:
















=




kn
kn
kn
gg
gg
ggg
G
00
0
00 0
000
0
0
10
Víi g
0
= g
n-k
=1

Ma tr©n kiÓm tra:
Ta cã g(x) lµ thõa sè cña x
n
+1 nªn cã thÓ viÕt :
X
n
+1= g(x) .h(x), h(x) cã bËc k cã d¹ng:
h(x) = h
0
+h

1
x+h
2
x
2
+ h
k
x
k
Víi h
0
=h
k
= 1. nªn h(x) = (x
n
+1)/g(x)
Ma tr©n kiÓm tra H cã d¹ng:
( )
( )
( )















=
−−
xhx
xhx
xh
H
kn *1
*
*
.

.
Trong ®ã: h
*
(x) lµ ®a thøc ng îc cña h(x),
h
*
(x) = x
k
.h

(x
-1
) = h
k
+h

k-1
x+…+h
0
x
k
Ma trËn H cã hµng b»ng víi sè bit kiÓm tra (n-k)

Ta cã x
k
h(x
-1
) còng lµ thõa sè cña x
n
+1. vËy ®a thøc
x
k
h(x
-1
) sinh ra m· vßng (n,n-k)víi ma trËn H
n-k,n

VÝ dô:
Cho C(7,4) víi ®a thøc sinh g(x) = 1+x+x
3
X¸c ®Þnh ma trËn G,H
Cã ma trËn sinh cã d¹ng:
( )
( )
( )













=














++
++
++
++

=












=












=

0001101
0011010

0110100
1101000
1
)(
)(
)(
)(
.
643
532
42
3
3
2
1
xxx
xxx
xxx
xx
xgx
xgx
xxg
xg
xgx
xgx
xg
G
k
Ma trËn H cã d¹ng:
( )

( )
( )














=
−−
xhx
xhx
xh
H
kn *1
*
*
.

.

h(x) = (x

n
+1)/g(x)
X
n
+1= x
7
+1, h(x) = (x
7
+1)/(1+x+x
3
)= x
4
+x
2
+x+1
h
*
(x) = x
k
h

(x
-1
) = x
4
[1/x
4
+1/x
2
+1/x+1]= 1 + x

2
+x
3
+x
4
( )
( )
( )










=










+++

+++
+++
=










=














=
−−

0010111
0101110
10111001
)(*
)(*.
)(*
.

.
6542
543
432
2
*1
*
*
xxxx
xxxx
xxx
xhx
xhx
xh
xhx
xhx
xh
H
kn


Mã hoá mã vòng dạng hệ thống


Mã vòng đ ợc biểu diễn ở dạng tổng quát:
u = u
0
,u
1
,u
n-1

+ n-k bit đầu tiên biểu diễn các bit kiểm tra
+ k bit còn lài là các bit bản tin

Mã vòng biểu diễn dạng hệ thống:
u = r
0
,r
1
r
n-k-1
,m
0
,m
1
, m
k-1
trong đó: n-k bit đầu tiên là bit kiểm tra
K bit tiếp sau là các bit bản tin.

Mô tả bằng toán học


Nh vậy k bit đ ợc dịch vào k tầng cuối cùng bên phải
của thanh ghi từ mã, sau đó thêm các bit kiểm tra vào
n-k tầng đầu tiến bên trái, nh vậy đa thức bản tin bị
dịch phải n-k ví trí bằng cách nhân x
n-k
m(x):
X
n-k
m(x) = m
0
x
n-k
+ m
1
x
n-k-1
+.+ m
k-1
x
n-1
Nh vậy mã vòng dạng hệ thống có biểu thức:
u(x) = x
n-k
m(x) + r(x)
Trong đó : r(x) là phần d của phép chia:
( )
( )
( ) ( ) ( )
xrxgxq
xg

xmx
kn
+=


ví dụ: một mã vòng ở dạng hệ thống với đa thức sinh
g(x) = 1+x+x
3
hãy tạo ra mã hệ thống với bit bản tin
m=1011.
Giải: u = 1011 nên đa thức bản tin u(x) = 1+x
2
+x
3
có k
= 4, nên n-k = 3, n = 4+3 = 7 mã vòng (7,4)
Với u(x) = x
n-k
m(x) = x
3
.(1+x
2
+x
3
) = x
3
+x
5
+x
6

Thực hiện chia x
n-k
m(x) cho g(x) bằng x
3
+x
2
+x+1 d 1
Vậy r(x) = 1.
U(x) = x
n-k
m(x) +r(x) = x
3
+x
5
+x
6
+1
Vậy mã vòng dạng hệ thống u = (1001011)


mã hoá mã vòng hệ thống với thanh ghi dịch n-k
tầng có hồi tiếp.
Mã hoá mã vòng dạng hệ thống với đa thức sinh g(x):
G(x) = 1+g
1
x+g
2
x
2
++ g

n-k-1
x
n-k
Với các hệ số của g(x): g
0
== g
n-k-1
= 1 có sơ đồ sau:
b
0
b
2
b
n-k-1
g
0
g
1
g
n-k-1
chuyển
mạch k1
Ra
K 2
vào
m(x)
G
i
= 0 không có liên kết
B

i
là các thanh ghi dịch

Các b ớc thức hiệu mã hoá bằng thanh ghi:
B1: K1 đóng để dịch k nhịp đầu tiên, cho phép chuyển
các bit tin vào n-k tầng của thanh ghi dịch.
B2: K2 ở vị trí d ới để chuyển các bit tin ra ngoài với k
nhịp đầu tiên.
B3: sau khi chuyển hết k bit tin thì k1 mở ra và k2
chuyển lên vị trí trên
B4: Sau n-k lần dịch còn lại xoá sạch thanh ghi khi
chuyển hết các bit kiểm tra ra ngoài
B5: sau n lần dịch nội dung của thanh ghi ngoài là đa
thức từ mã u(x) = r(x) + x
n-k
m(x)

ví dụ: hãy mã hoá mã vòng với các bit tin m = (1001)
thành một mã (7,4) sử dụng đa thức sinh g(x)= 1+x+x
3

Dùng toán học để mã hoá:
+ ta có m = (1001) nên u(x) = 1+x
3
, đa thức từ mã
u(x) = x
n-k
m(x) + r(x), r(x) là phần d của phép chia
x
n-k

m(x)/g(x):
+ x
n-k
m(x) = x
3
(1+x
3
) = x
3
+x
6
. thực hiện chia cho g(x)
ta có:
xx
xx
xx
+=
++
+
3
3
63
1
d r(x) = x
2
+x
Vậy u(x) = x
n-k
m(x) + r(x) = x
3

+x
6
+x
2
+x chuyển về
dạng từ mã hệ thống: u = (0111001)

vÝ dô: M· (7,4) víi ®a thøc sinh
g(x) = 1+x+x
3
vµ ®a thøc th«ng tin u(x) = x +1,
nh©n x
n-k
.u(x) = x
4
+x
3
= 0001100 g
2
= 0 nªn
kh«ng cã nèi tiÕp g
2
. Cã s¬ ®å sau
b
0
b
1
b
2
C

x
n-k
.u(x) = 0001100
Bit parity
Bit tin
g
1
k
2
k
1
1
2

nhịp Vào Trạng thái ô nhớ Ra
b
0
b
1
b
2
0 0 0 0
1 0 0 0 0 0
2 0 0 0 0 0
3 1 1 1 0 1
4 1 1 0 1 1
5 0 0 1 0 1
6 0 0 0 1 0
7 0 0 0 0 1
Trạng thái ban đầu các ô nhớ toàn 0

b
1
= b
0cũ
(+)g
1mới
,

b
2
= b
1cũ
Từ mã thu đ ợc ng
ợc từ d ới lên C =
1011100

KiÓm tra b»ng to¸n häc
( ) ( ) ( )
( )
( ) ( ) ( )
( )
1011100
1.
1
00011001.
234
2
34
343
=

+++=+=
+=
+
+=+=


xxxxrxuxxu
x
xg
xx
chia
xxxxxux
kn
kn

Giải mã sử dụng syndrome
+ Dùng ma trận kiểm tra H: với mã vòng thì giải mã
giống với mã khối tuyến tính
Các b ớc giải mã bằng Syndrome
B
1
: tính syndrome S = r.H
T
B2: Lập bảng lỗi với syndrome
B
3
: dò tìm mẫu lỗi với syndrome t ơng ứng
B
4
: giải mã bằng cách cộng modul 2: u = e

i
+r, u chính
là từ mã đ ợc truyền đi.

ví dụ: cho mã vòng (7,4) với đa thức sinh
g(x) = 1+x+x
3
. có bit bản tin m = (1100) hãy xác định
từ mã để truyền trên đ ờng truyền có nhiễu thu đ ợc từ
mã r bị lỗi tại vị trí 2
-
Xác định ma trận H:
Có x
n
+1 = x
7
+1=(1+x+x
3
).(x
4
+x
2
+x+1)=g(x).h(x)
h(x) = x
4
+x
2
+x+1, h*(x) = x
k
.h(x

-1
)
h*(x)= x
4
(1/x
4
+1/x
2
+1/x+1)=1+x
2
+x
3
+x
4
1110100
0111010
0011101
=H
100
110
111
011
101
010
001
=
T
H
Ma trận H
T


+ Tính syndrome s = r .H
T
( )
)111(
100
110
111
011
101
010
001
.1011000 ==S
Bảng mẫu lỗi với syndrome
H
T
mẫu lỗi
100 1000000
010 0100000
101 0010000
110 0001000
111 0000100
011 0000010
001 0000001
Từ ví dụ trên ta tính đ ợc u = (1011100), từ mã nhận đ
ợc bị lỗi tại vị trí thứ 2 là r = 1011000
+ Giải mã: u = r (+) e
i
u = 1011000 (+) 0000100
= 1011100

×