kể cả độ dài sai vòng.. Do đó ta chỉ cần chứng minh định lý với độ dài sai tuyệt đối... Vậy Ex.xi sẽ không chia hết cho gx.. duy nhất là gx.
Trang 1Phương
Phương phá pháp p giả giải i mã mã
Giáo viên thực hiện: Lê Thị Thanh
Định lý Meggitt
• Giả sử s(x) là syndrome củ a:
• u(x) = u0x n-1 + u1x n-2 + + un-2x + un-1 thì syndrome
củ a u 1 (x) là s 1 (x) được tính theo công thứ c sau:
• s 1 (x) = xs(x) mod g(x)
Chứng minh định lý Meggitt
• Với quy ước u1(x) là quay vòng trái của u(x)
• u(x) = u0xn-1 + u1xn-2+ + un-2x + un-1
• u1(x) = u1xn-1 + u2xn-2 + + un-1x + u0
• u1(x) mod g(x) = xs(x) mod g(x) =
• u1(x) mod g(x) = x.u(x) mod g(x)
• (u1xn-1 + u2xn-2 + + un-1x +u0) mod g(x) =
• = (u0xn + u1xn-1 + + un-2x2 + un-1x) mod
g(x)
6.4 Kh ả năng sửa sai của bộ mã vò ng (n,k)
• 6.4.1 Độ dài sai
mẫu sai
Trang 26.4.1 Độ dà i sai
• Độ dà i sai: Giả sử e = e0e1 en-1=
• = (e0e1 ei-1 ei ei+1 ej-1 ej ej+1 en-1)
• = (00 0 1 ei+1 ej-11 00 0)
cách từ bit ei tới bit ej:
• độ dài sai = j – i + 1
• Độ dài sai vòng: giả sử e = e0e1 en-1=
• = (e0e1 ei-1 ei ei+1 ej-1 ej ej+1 en-1)
• = (e0e1 ei-11 0 0 0 1 ej+1 en-1)
cách vòng từ bit ei đến bit ej
• độ dài sai vòng = n – (j – 1 – i – 1 + 1) =
6.4.2 Khả năng dò sai (1/3)
• Định lý 6.7: Bộ mã vòng (n,k) có thể dò
được tất cả các mẫu sai nhỏ hơn hoặc bằng
(n-k) bit (kể cả độ dài sai vòng)
• Chứng minh:
• Bổ đề : “Nếu bộ mã vòng (n,k) có khả năng
phát hiện được đa thức gây sai e(x) thì sẽ
ei(x) là đa thức dịch chuyển vòng i bit của
e(x) (i=1,n-1)”
6.4.2 Khả năng dò sai (2/3)
• Giả sử ei(x) là đa thức gây sai không phát
thuẫn) Do đó ta chỉ cần chứng minh định lý với độ dài sai tuyệt đối
• Giả sử e(x) = E(x).xi với 0 ≤ i ≤ n-1 → vector
E(x) ≤ (n-k-1)
phải chứng minh rằng e(x) không phải từ
Trang 36.4.2 Khả năng dò sai (3/3)
• Nhận xét: E(x) có bậc nhỏ hơn g(x); E(x) # 0
không nên xi sẽ không chức một thừa số
nào của g(x) Vậy E(x).xi sẽ không chia hết
cho g(x)
6.4.3 Xác suất không dò đượ c sai
• Định lý 6.8: ”Xác suất không dò được các mẫu sai có độ dài bằng (n-k+1) là 2-(n-k-1)”
• Chứ ng minh: e(x) = E(x).xi
• E(x) có n-k+1 số hạng → E(x) có bậc n-k
duy nhất là g(x)
6.4.3 Xác suất không dò đượ c sai
• Có 2(n-k-1) đa thức nhưng chỉ có một đa thức
E(x) = g(x) làm cho sai e(x) là không dò
được Vậy xác suất không dò được sai của
các mẫu sai có độ dài bằng (n-k+1) là:
• Pud= 1/ 2(n-k-1) = 2-(n-k-1)
6.4.4 Định lý 6.9
bộ mã vòng (n,k) là 2(k-n)
• Chứng minh:
• Số đa thức gây sai: 2n – 1
• Pud= 2k– 1 / 2n– 1 = 2k-n
Trang 4Ph ương pháp giải mã vò ng Meggitt
Nguyên lý giải mã Meggitt
mẫu sai 1 bit
u(x)=u0xn-1+u1xn-2+ +un-1
e(x)=e0xn-1+e1xn-2+ +en-1 với e0=1
của e(x):
u’(1)(x) từ syndrome của u(x)
Syndrome của u(x) không bằng syndrome
củ a e(x)
• Quay vò ng
u(x)=u0x n-1 +u1x n-2 + +un-1 để đượ c
u (1) (x)=u 1 x n-1 +u 2 x n-2 + u n-1 x+u 0
Do u 0 x n +u 0=u0(x n +1) chia hế t cho g(x) nên:
s (1) (x) =dư số [u (1) (x)/g(x)]
=dư số [(u (1) (x)+u 0 x n +u 0)/g(x)]
=dư số [(u0x n +u (1) (x)+u0)/g(x)]
=dư số [(u0x n +u 1 x n-1 +u 2 x n-2 + +u n-1 x+u 0+u0)/g(x)]
Syndrome của u(x) không bằng syndrome
củ a e(x)
• Quay vò ng
u(x)=u 0 x n-1 +u 1 x n-2 + +u n-1 để đượ c
u (1) (x)=u1x n-1 +u2x n-2 + un-1x+u0
Do u0x n +u0=u0(x n +1) chia hế t cho g(x) nên:
s (1) (x)=dư số [u (1) (x)/g(x)]
=dư số [(u (1) (x)+u0x n +u0)/g(x)]
=dư số [(u0x n +u (1) (x)+u0)/g(x)]
=dư số [(u 0 x n +u 1 x n-1 +u 2 x n-2 + +u
n-1 x +u 0 +u 0)/g(x)]
=dư số [(xu(x) +0)/g(x)]
Trang 5Syndrome của u(x) không bằng syndrome
củ a e(x)
=dư số [x(kg(x)+dư số[u(x)/g(x)])/g(x)]
=dư số [x(kg(x)+s(x)])/g(x)]
=dư số[xkg(x)/g(x)+dư số [xs(x)/g(x)]
=0+dư số [xs(x)/g(x)]
=dư số [xs(x)/g(x)]
• Do đó khi đã có syndrome của u(x) là s(x) thì có
thể tí nh syndrome s (1) (x) củ a u (1) (x) bằng cách dịch
trá i s(x)
e(x)
• Sửa sai bit đầ u tiên:
u(x) sửa sai bit đầu (cộng vớ i e 0 =1) đượ c u’(x) u’(x)=(u0+e0)x n-1 +u1x n-2 + +un-1=u(x)+e0x n-1
Lúc đó syndrome của u’(x) là :
s’(x) =dư số[u’(x)/g(x)]=dư số [(u(x)+e 0x n-1 )/g(x)]
=dư số[u(x)/g(x)]+dư số [x n-1 /g(x)]
=s(x)+dư số [x n-1 /g(x)]
e(x)
• Quay vòng trái u’(x) và tính syndrome của nó :
u’ (1) (x)=u1x n-1 +u2x n-2 + +un-1x+(u0+e0)=u (1) (x)+e0
s’ (1) (x) =dư số [u’ (1) (x)/g(x)]
=dư số [(u (1) (x)+e0)/g(x)]
=dư số [(u (1) (x)/g(x)]+dư số [e0/g(x)]
=dư số[xs(x)/g(x)]+dư số [e0/g(x)]
=dư số [(xs(x)+e0)/g(x)]
• Do đó khi đã có syndrome của u(x) là s(x) thì có thể tí nh
syndrome s’ (1) (x) củ a u’ (1) (x) bằng cách dịch trái s(x) và
cộ ng thêm e0 vào bit trọng số thấp nhấ t
Thiết kế mạch giải mã Meggitt
Thanh ghi syndrome
So sánh mẫ u sai
Bộ đệ m
+
+
u(x)
Đóng từ xung n
Trang 6Thiết kế mạch giải mã Meggitt
• Giả sử bộ mã vòng có ma trận sinh là : g(x)=x 3 +x+1
vớ i n=7, k=4, n-k=3
• Mẫu sai sửa được là: 1000000 có syndrome là
(101)
• Các bit mang tin là 1101 thì tính được dư của
1101000 chia cho 1011 là 001 từ đó ta có từ mã là
1101001
• Giả sử sai bit thứ 5 thà nh 1101101
• Mạch giải mã sẽ sửa bit thứ 5 từ 1 thà nh 0 và
chuyển tổ hợp 1101101 thành từ mã 1101001
Thiết kế mạch giải mã Meggitt sửa sai 1 bit cho bộ
mã vòng có g(x)=x 3 +x+1
+
Mạch chia lấy số d ư
Mạch so sánh vớ i 101
Ngõ và o Ngõ ra
=101 1
≠ 101 0
Đóng
từ xung thứ 7
0x 2 x 3
x 1
x 0
+
0 0
0
0
0 1 0
0x 2 x 3
x 1
x 0
+
0 0
1
0
0 1 1
0x 2 x 3
x 1
x 0
Trang 7Hoạt động mạch giải mã Meggitt – xung 2
+
0 1
1
0
0
0 0 1
0x 2 x 3
x 1
x 0
+
1 1
0
0
0
1 0 0
0x 2 x 3
x 1
x 0
+
1 1
0
0
1 0 0
0x 2 x 3
x 1
x 0
+
1 1
0
0
1 0 0
0x 2 x 3
x 1
x 0
Trang 8Hoạt động mạch giải mã Meggitt – xung 6
+
1 1
1
0
0
1 0 1
0x 2 x 3
x 1
x 0
+
1 1 0 1 1 0 1
1 0
0
1
0
1 1 0
0x 2 x 3
x 1
x 0
+
1 0 1 1 0 1 0
0 1
1
1
0 0 1
0x 2 x 3
x 1
x 0
1
+
0 1 1 0 1 0 0
1 1
0
11
1 0 0
0x 2 x 3
x 1
x 0
0
Trang 9Hoạt động mạch giải mã Meggitt – xung 10
+
1 1 0 1 0 0 0
1 1
1
011
0
1 0 1
0x 2 x 3
x 1
x 0
1
+
1 0 1 0 0 0 0
1 0
1
1011
1
1 1 1
0x 2 x 3
x 1
x 0
0
+
0 1 0 0 0 0 0
0 0
0
0 1011
0 1 0
0x 2 x 3
x 1
x 0
0
+
1 0 0 0 0 0 0
0 0
0
0 1011
0 1 0
0x 2 x 3
x 1
x 0
1