Professional Documents
Culture Documents
2
• Cặp (n, k) • Tỉ lệ mã: R = k / n
• Khoảng cách tự do: dfree
• Độ dài ràng buộc (constraint length)
Dựa theo cấu trúc đại số: mã tuyến tính (linear) và phi tuyến (nonlinear)
• Thực tế: hầu hết là linear code
• Linear codes: tạo ra không gian vector (theo nghĩa đại số)
Dựa theo lỗi (error):
• Mã sửa lỗi ngẫu nhiên (random error correcting codes)
• Mã sửa lỗi khối (burst error correcting codes)
Mã sửa lỗi (error correction) và phát hiện lỗi (error detection)
• Mã sửa lỗi: dùng 1 lượng lớn các symbol dư trong codeword → phát hiện và
sửa lỗi
• Mã phát hiện lỗi: chỉ kiểm tra xem có lỗi trong từ mã thu hay không → không
sửa lỗi → yêu cầu phát lại các khối bản tin
- Phép cộng F2 tương đương với phép toán XOR trong khi phép nhân là phép
logic AND.
Ví dụ 2.– Phép cộng và phép nhân trong F5.
Bảng 2. Phép cộng và phép nhân trong F5
4
2.2.3. Đa thức nguyên thủy và bất khả quy
f (p): đa thức mà hệ số là phần tử của F 2 f (p) = f0 + f1p + f2p2 +… + fmpm với fi
tôi ∊F2 bậc của đa thức = lũy thừa khác 0 cao nhất của p m ≠ 0 ⇒ đa thức có bậc
=m
Định nghĩa 1: Một đa thức là không thể điều chỉnh được (tối giản) nếu nó
không thể viết được dưới dạng tích của đa thức b (p) c (p) với b (p) và c (p)
bậc cao hơn hoặc bằng 1.
Định lý 1: Tất cả các đa thức bất khả quy ở F2 có bậc chia m (p2m -1 −1).
Định nghĩa 2: Đa thức bất khả quy f (p) bậc m là a đa thức nguyên thủy
(nguyên thủy) nếu số nguyên dương nhỏ nhất n mà f (p) chia pn + 1 là n =
2m - 1
Ví dụ: Danh sách các đa thức nguyên thủy cho m ≤ 16
α2 = 1 + α, α3 = α + α2 = 1 và α4 = α
⇒ F4: trường hữu hạn
Định lý 2.– Mỗi đa thức nhỏ nhất mi(p) là bất khả quy.
- Chúng ta có thể kiểm tra rằng 5 đa thức trên là bất khả quy và các yếu tố của
p15 - 1. Chúng ta sẽ xem thêm trong chương rằng các đa thức bất khả quy của
bảng đó là một trong những đa thức chính được sử dụng để xây dựng các mã
tuần hoàn.
2.3. Mã khối tuyến tính
- Giả sử đầu ra của một nguồn tin là một dãy các bit nhị phân 0 và 1. Trong
trường hợp mã khối dãy thông tin nhị phân được chia thành dãy các thông tin có
chiều dài cố định. Thường được gọi là message. Mỗi message, ký hiệu là u gồm
có k bit thông tin. Vậy tổng cộng có 2k message khác nhau và chúng có thể được
thể hiện là các bộ Vector thành phần, trong đó mỗi thành phần vector là 0 hay 1.
Bộ phận mã hóa theo một quy luật nào đó sẽ ánh xạ message u thành một vector
n thành phần v (n>k), v được gọi là từ mã (code word) của message u. ứng với
2k từ mã này được gọi là một mã khối. Để mã khối hữu hiệu, 2 k từ mã luôn là
các từ mã phân biệt. Do đó sẽ có một ánh xạ 1:1 giữa một message u và một từ
mã v.
6
- Đối với một mã khối có hai từ mã và mỗi từ mã có chiều dài n, việc lưu lại
bảng mã để phục vụ cho việc giải mã sẽ gây khó khăn khi 2k lớn. Do đó có một
loại mã khối có cơ chế hoạt động dễ dàng hơn, có thể áp dụng vào thực tế, đó là
mã khối tuyến tính. Với cấu trúc của mã khối tuyến tính. Sự phức tạp của quá
trình mã hóa và giải mã giảm đi rất nhiều.
2.3.1. Giới thiệu
- Mã khối tuyến tính q-ary C (N, K) là một tập hợp bao gồm qK từ mã.
- Chúng tôi liên kết một từ mã q-ary bao gồm N ký hiệu với mỗi từ thông tin q-
ary gồm K ký hiệu. Độ tuyến tính có nghĩa là N ký hiệu của từ mã thu được
bằng sự kết hợp tuyến tính của K ký hiệu của từ thông tin. Thuộc tính này cho
phép chúng tôi, trong đặc biệt, để mô tả hoạt động mã hóa dưới dạng ma trận.
- Trong phần này, chúng ta sẽ chỉ xem xét các mã khối tuyến tính nhị phân mà q
= 2.
- Từ thông tin và từ mã sử dụng vector
• Từ thông tin: K phần tử của thông tin
u = [u0, u1,…, UK-1] uk ∊ Fq
• từ mã: N phần tử
c = [c0, c1,…, CN-1] cn ∊ Fq
- Chúng tôi có ma trận mối quan hệ giữa từ thông tin u và từ mã liên quan c:
c = uG
c: từ mã liên kết
u: từ thông tin
G: ma trận bộ tạo (KxN)
- Luôn luôn có thể bằng cách kết hợp các dòng để thu được máy phát G dưới
dạng hệ thống như sau:
7
Ví dụ 4: Mã lặp lại C1 (3, 1) ở F2
G = (1 1 1)
Bit thông tin được lặp lại ba lần:
Ví dụ 5: Mã kiểm tra chẵn lẻ C2
Từ mã: số chẵn của 1 ⇒ C2: 000, 011, 110 và 101
Ví dụ 6: Mã Hamming C3 (7, 4) ở F2
• Generator matrix:
K
R= N
Định nghĩa 6.– Trọng số Hamming w (c) của một từ mã nhị phân c bằng số
phần tử khác 0 của từ mã này.
Định nghĩa 7.– Khoảng cách tối thiểu dmin của mã C là khoảng cách
Hamming giữa cặp từ mã có khoảng cách Hamming nhỏ nhất:
- Khi mã là tuyến tính, khoảng cách tối thiểu d min bằng trọng lượng Hamming tối
thiểu của mã C (bằng cách loại trừ từ mã null c0):
9
Ma trận H được gọi là ma trận kiểm tra chẵn lẻ của mã C
2.3.4. Hamming codes
- Để đảm bảo dmin = 3, tất cả các cặp cột của ma trận kiểm tra chẵn lẻ của một
mã phải độc lập tuyến tính, vì vậy chúng phải khác nhau và từ vectơ không. Đối
với các bit chẵn lẻ tồn tại 2p - 1 cột như vậy, do đó n = 2p - 1. Nói chung, chúng
tôi nhận được một mã tham số (2p - 1, 2p - 1 - p). Ví dụ về các cặp (n, k) thỏa
mãn điều kiện này là: (7, 4), (15, 11), (31, 26), v.v. Nếu dmin = 3, thì khả năng
sửa lỗi của mã như vậy bằng một lỗi đơn (t = 1). Phân tích điều kiện giới hạn
trên của Hamming cho các tham số đã cho, chúng ta thấy rằng những những con
số hoàn thành sự bình đẳng
và ma trận sinh G được cho bởi công thức . Do đó, quy tắc mẫu được áp dụng
trước đây trong mô tả về cấu trúc ma trận trình tạo là một mã Hamming.
- Mã Hamming (7, 4) thường được áp dụng làm ví dụ trong các cuốn sổ tay về
kỹ thuật số lý thuyết giao tiếp và mã hóa. Mã Hamming có độ dài cao hơn n
được áp dụng trong một số hệ thống thông tin liên lạc không dây.
2.3.5. Giải mã các mã khối tuyến tính nhị phân
- Trong quá trình truyền các từ mã thông qua một kênh liên lạc, lỗi xảy ra trong
chúng. Áp dụng mô hình kênh nhị phân (không nhất thiết là đối xứng và không
có bộ nhớ), chúng ta có thể giả định rằng do lỗi phát sinh, từ mã c được chuyển
thành chuỗi r, trong đó r = c + e
Cách tiếp cận đơn giản: so sánh từ r nhận được với tất cả cái 2K từ mã của mã C
Hội chứng lỗi s: thứ nguyên 1 × (N - K)
s = rHT = cHT + eHT = eHT (vì: cHT = 0)
10
Nếu không có lỗi truyền dẫn, hội chứng lỗi s là vectơ rỗng
Các phương pháp giải mã:
• mảng tiêu chuẩn,
• giải mã hội chứng
• thuật toán Viterbi.
Giải mã hội chứng hội chứng lỗi: 2N-K giá trị khác nhau
s = rHT
Phương pháp này chỉ yêu cầu một bảng tra cứu liên kết lỗi hội chứng với các
vectơ lỗi.
Từ mã ước tính:
c^ = r + e^
Phải thực hiện rHT sản phẩmvà ghi nhớ 2 N-K vectơ lỗi
Ví dụ 7:
mã C4(5, 2)
generator matrix:
Ví dụ (tiếp):
Mã C4(5, 2)
từ thông tin u = [1 1]
từ mã được liên kết: c = [1 1 1 1 0]
vectơ nhận được: r = [1 1 1 0 0]
tính toán hội chứng lỗi → Giải mã hội chứng bảng cho
mã (5, 2)
Hội chứng liên quan đến từ nhận được r:
11
s = rHT = [0 1 0]
Bảng giải mã hội chứng ⇒ ê = [0 0 0 1 0]
c^ = r + e^ => ĉ = [1 1 1 1 0]
3. Cyclic codes
3.1. Định nghĩa và tính chất
Lưu ý.– Trong phần này, bit quan trọng nhất (MSB) của các vectơ nằm ở bên
phải.
Hình 3.1. So sánh hiệu suất của giải mã đầu vào cứng và mềm
- Các mã tuần hoàn là một tập hợp con của các mã khối tuyến tính. Trong khi
đối với mã khối tuyến tính, K từ mã được yêu cầu để xác định bộ 2K từ mã, đối
với mã tuần hoàn, chỉ một từ mã là đủ. Các mã khối tuyến tính quan trọng nhất
như mã Hamming, mã Golay, BCH và RS mã thuộc lớp này. Do tính chất của
chúng, sự phức tạp của các nhiệm vụ mã hóa và giải mã được giảm. Trong phần
này, chúng tôi sẽ trình bày các mã tuần hoàn được xác định trong trường hữu
hạn, nhưng chúng có thể được mở rộng đến Fq.
- Thuộc tính chính của mã tuần hoàn như sau: if c = [c0 c1… cN − 2 cN − 1] là một từ
mã, sau đó từ thu được bằng cách thực hiện dịch chuyển theo chu kỳ sang phải
một vị trí c ’= [cN − 1 c0… cN − 3 cN − 2] cũng là một từ mã.
- Để mô tả một mã tuần hoàn (N, K), thuận tiện khi kết hợp một đa thức c (p)
của độ thấp hơn hoặc bằng N - 1 cho mỗi từ mã c = [c0 c1… cN − 2 cN − 1]:
12
- Các thuộc tính của mã tuần hoàn có thể dễ dàng thu được bằng cách sử dụng
đại số của đa thức modulo pN - 1:
- Không có từ mã
nào được liên kết với đa thức này vì bậc của nó cao hơn N - 1. Bằng cách cộng
13
g (p) là đa thức có bậc nhỏ nhất trong số 2K từ mã của mã tuần hoàn.
Tính chất.– Đa thức g (p) bậc N - K nên là nhân tử của p N − 1.Thuộc tính.– Bộ
2K đa thức liên kết với 2 K từ mã của một mã tuần hoàn (N, K) có thể nhận được
bằng cách thực hiện phép nhân g (p) với 2 K đa thức của độ thấp hơn hoặc bằng
K - 1.
- Nếu chúng ta định nghĩa đa thức u (p) liên kết với từ thông tin u với u = [u 0
u1… uK−2 uK − 1]:
- Chúng ta có mối quan hệ sau đây giữa đa thức u (p) bậc K - 1 và đa thức c (p)
bậc N - 1:
14
- Từ quan điểm thực tế, nó được khuyến khích để có một mã có hệ thống. Cho
từ thông tin là u = [u0 u1… uK − 2 uK − 1] và u (p) = u0 + u1p +…+ uK − 2p K − 2 + uK −
1p đa thức liên kết của nó. Ta nhân u (p) với pN-K:
K−1
- Đa thức c (p) liên kết với một từ mã có dạng hệ thức c = [c 0 c1… c=] = [c0 c1…
cN − K − 1 u0 u1… uK − 2 uK − 1] có thể được viết như:
Ví dụ 10 .– Chúng ta hãy xem xét từ thông tin u = [1 1 1 0] Đa thức liên kết với
u là u (p) = 1 + 1p + 1p2 + 0p3. Chúng ta có:
• đa thức máy phát: g (p) = 1 + p + p3
• từ thông tin: u = [1 1 1 0]
• đa thức liên kết với u:
u (p) = 1 + 1p + 1p2 + 0p3
PN-Ku (p) = p3 + p4 + p5
t (p) = p
- Các bit đi vào cấu trúc bắt đầu bởi MSB. Tại mỗi chuyển tiếp tích cực của
đồng hồ, hệ số mới của đa thức a (p) vào trong cấu trúc. Sau d lần chuyển đổi
đồng hồ, lần đầu tiên hệ số khác không của thương số xảy ra ở đầu ra của thanh
ghi dịch chuyển cuối cùng. Hệ số này được nhân với g (p) và sau đó bị trừ giống
như trong một phép chia cổ điển.
16
Sơ đồ phần
Các bit đi vào cấu trúc bắt đầu bởi MSB
Trình tự chia:
17
c^ ( p)=r ( p)+ e^ ( p)
c^ ( p) : vector lỗi
r ( p): vectơ nhận
e^ ( p): vectơ lỗi ước tính
18
CÁC TÀI LIỆU THAM KHẢO
1. Tài liệu học tập chương 5 Channel Coding của thầy Đoàn Bảo Sơn
2. Digital Communications 1 (1st Edition) of Didier Le Ruyet & Mylène
Pischella
3. Introduction to digital communication systems of Krzysztof Wesołowski