nhất định được liên kết chặt chẽ với cấu trúc của nó, chất lượng truyền yêu cầu và những hạn chế do các ứng dụng của hệ thống.. Trong một số hệ thống nhất định, một kênhphản hồi từ bộ th
Trang 1KHOA ĐIỆN – ĐIỆN TỬ
MÔN NGUYÊN LÝ TRUYỀN THÔNG
TIỂU LUẬN CUỐI KÌ
Họ tên: Nguyễn Lê Bảo Duy
Mã số sinh viên:
1953020068
THÀNH PHỐ HỒ CHÍ MINH, NĂM 2021
Trang 4CHANNEL CODING
(MÃ HÓA KÊNH) Giới thiệu
Truyền thông tin → méo (distortion) → bảo vệ chống lỗi (error)
- Việc truyền thông tin qua các kênh đưa thông tin xuyên tạc thường yêucầu bảo vệ chống lại các lỗi Do biến dạng và nhiễu, các kênh vật lý hầu nhưkhông bao giờ đảm bảo đạt yêu cầu chất lượng đường truyền Các ứng dụng củangười dùng thường yêu cầu tỷ lệ lỗi nhị phân theo tỉ lệ 10-5 – 10-6 , do đó, ứngdụng mã hóa kênh để bảo vệ chuỗi nhị phân khỏi lỗi là cần thiết Đôi khi các yêucầu hệ thống cao hơn nhiều Ví dụ, do tốc độ nén tín hiệu video rất cao, trongTruyền hình video kỹ thuật số (DVB) giải nén tín hiệu video chính xác yêu cầunhận Quasi Error-Free (QEF), tức là tỷ lệ lỗi phải có bậc 10−10 –10−12 Đảm bảochất lượng như vậy chắc chắn là một nhiệm vụ đòi hỏi May mắn thay, nó có thểđạt được do tiến bộ trong lý thuyết mã hóa và công nghệ thông tin liên lạc
nhất định được liên kết chặt chẽ với cấu trúc của nó, chất lượng truyền yêu cầu
và những hạn chế do các ứng dụng của hệ thống Trong một số hệ thống, chuỗi
dữ liệu cần được truyền với một hằng số tỷ giá và biến động tỷ giá không thểđược chấp nhận Trong một số người khác, một đường truyền cho phép sự chậmtrễ là một hạn chế của hệ thống Trong một số hệ thống nhất định, một kênhphản hồi từ bộ thu dữ liệu đến máy phát có thể được thiết lập để gửi thông báo
về các khối dữ liệu đạt đến người nhận Điều này cho phép lặp lại các khối đãnhận sai Một phản hồi như vậy kênh có ảnh hưởng quan trọng đến việc lựachọn mã kênh Nói chung, mã hóa kênh được áp dụng để đảm bảo phát hiện và /hoặc sửa lỗi Nhiệm vụ sau này thường là nhiều tốn kém hơn cái cũ Trong các
hệ thống truyền dẫn kỹ thuật số hiện đại, cụ thể là những người áp dụng cáckênh vô tuyến, cả hai nhiệm vụ thường được thực hiện
❖ Channel coding kết hợp nghiêm ngặt với:
• cấu trúc hệ thống
• chất lượng truyền dẫn
• các giới hạn từ ứng dụng (ví dụ: delay)
1 Ý tưởng
❖ Nguyên tắc mã hóa kênh:
• Tạo thông tin dư thừa (redundancy): thêm chuỗi symbol
• Tác động của nhiễu trung bình: kết hợp các symbol dư thừa với một vàisymbol thông tin khác
- Giới thiệu về dư thừa thông tin là nhận ra bằng cách gắn một chuỗi kýhiệu bổ sung vào khối thông tin đại diện một tin nhắn nhất định Trình tự nàyđược chọn theo cách mà thông điệp được truyền có thể dễ dàng phân biệt với
Trang 5các tin nhắn
Trang 6khác có thể được truyền đi Thông điệp được biểu diễn bằng các chuỗi ký hiệutheo cách mà nó rất khó xảy ra sự nhiễu loạn kênh đó làm sai lệch số lượng kýhiệu trong trình tự cao đến mức các ký hiệu này các ký hiệu sai sẽ phá hủy khảnăng kết hợp duy nhất của chuỗi ký hiệu đã nhận với thông điệp được truyền đi.Ảnh hưởng của tiếng ồn trung bình, đến lượt nó, đạt được bằng cách kết hợp các
ký hiệu thừa với một vài thông tin khác nhau biểu tượng đại diện cho một thôngđiệp nhất định
❖ Lập luận (Clark and Cain 1981): Các sự kiện error nhị phân Mã càng dài thìkhả năng sửa số lượng các lỗi càng nhỏ
Lựa chọn phương pháp phát hiện và sửa lỗi
• Số chuỗi nhị phân có độ dài n: 2 n
• Số chuỗi mã được chọn: 2 k (k < n)
• dmin: giá trị nhỏ nhất của khoảng cách Hamming của chuỗi mã được chọn
• Điều kiện quyết định sửa lỗi: khoảng cách Hamming giữa chuỗi thu vàchuỗi phát không lớn hơn:
⎿x ⏌: số tự nhiên lớn nhất không lớn hơn x
• Các tham số của mã khối:
• Độ dài của khối message: k
• Độ dài từ mã (codeword): n
• Khoảng cách tối thiểu giữa các codeword: dmin
• Code rate: R = k / n
• Các error có thể sửa được: t
❖ Mã xoắn (convolutional codes):
• Dùng mạch logic tuần tự (các cell nhớ) để mã hóa: codeword n bit tại 1thời điểm phụ thuộc chuỗi message k bit và trạng thái mạch mã hóa (nội dungcủa các cell nhớ)
• Các tham số của mã xoắn:
Trang 7• 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
- Trường F là một tập khác rỗng có hai phép toán được định nghĩa trên đó,
đó là phép cộng và phép nhân và thỏa mãn các tiên đề sau:
- F là một nhóm Abelian dưới sự bổ sung Nó có các thuộc tính của sự liênkết, sự đồng nhất phần tử viết 0, tính đối xứng và tính giao hoán;
- phép nhân có tính chất kết hợp: if a, b, c∈ F, then a (bc) =∈ (ab) c;
Trang 8- phép nhân có tính chất giao hoán: if a, b ∈F, then ab = ba;
- phép nhân có phân phối phải và có phân phối trái đối với phép
cộng: nếu a, b, c∈ F thì a (b + c) = ab + ac và (a + b) c = ac + bc;
- trường có phần tử nhận dạng được ký hiệu là 1 cho phép nhân;
- mỗi phần tử khác không của F là khả nghịch; nếu a∈F (a = 0), a−1 lànghịch đảo của nó với aa−1 = 1
2.2.2 Finite fields
hiệu là Fq hoặc GF (q) trong bộ nhớ của Evariste Galois Có thể xây dựng mộttrường hữu hạn nếu q là số nguyên tố hoặc nếu q = pm với p là số nguyên tố.Khi q là số nguyên tố, phép cộng và phép nhân trong trường hữu hạn Fq là phépcộng và phép nhân modulo q Vì mỗi trường hữu hạn nên chứa các phần tử đồngnhất 0 và 1, trường hữu hạn đơn giản nhất là F2 Đối với truyền thông kỹ thuật
số, chúng ta chủ yếu sẽ sử dụng các trường hữu hạn F2 và Fq với q = 2m vìchúng ta chủ yếu coi là hệ nhị phân các yếu tố Trong chương này, chúng ta sẽchủ yếu giới hạn bản thân trong hai trường hữu hạn này
Ví dụ 1.– Addition and multiplication in F2
Bảng 1 Addition and multiplication in F2
- 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
Trang 92.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 F2 f (p) = f0 + f1p + f2p2+… + fmpmvới fitô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 ở F2có 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
Danh sách các phần tử của trường hữu hạn F4:
- Trường hữu hạn Fq với q = 2m là trường đẳng thức của trường đa thức với
hệ số bằng F2 modulo một đa thức bất khả quy f (p) tại F2và với bậc m F2 đượcgọi là trường cơ sở Cho phépα là một căn của đa thức này (f (α) = 0) Chúng ta
có thể chứng minh rằng các lũy thừa liên tiếp của α tạo ra 2m - 1 phần tử kháckhông của trường hữu hạn F4
Ví dụ 3.– Phép cộng và phép nhân trong Fq
- Chúng ta hãy nghiên cứu trường hữu hạn F4 (trường hợp m = 2) được xâydựng từ đa thức nguyên thủy f(p) = 1 + p + p2
Trang 10- Cho phép α là một căn của đa thức này: f(α)= 1 + α + α2= 0 Chúng ta cóthể kiểm tra rằng các lũy thừa liên tiếp của α tạo ra 22 - 1 phần tử khác khôngcủa F4.
Phép cộng và phép nhân trong F4
α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ả quycủ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 Trongtrườ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ó 2kmessage khác nhau và chúng có thể đượcthể 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, 2k 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
Trang 11- Đố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ưulạ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ủaquá 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 qKtừ 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ôngtin 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àycho phép chúng tôi, trong đặc biệt, để mô tả hoạt động mã hóa dưới dạng matrậ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
Trang 12u = [u0, u1, u2, u3]
Định nghĩa 3 Tỷ lệ R của một mã khối (N, K) bằng:
R =K
Định nghĩa 4 Gọi c1và c 2 là hai từ mã của mã C, α1và α2 là hai phần tử của
Trang 14của C Do đó, từ c0= [00… 0] luôn là một từ mã của bất kỳ mã tuyến tínhnào Từ mã này được gọi là từ mã null.
2.3.2 Khoảng cách tối thiểu của một mã
Định nghĩa 5.– Cho c1và c+ là hai từ mã có độ dài N của mã C, Hammingkhoảng cách dH(c1, c2) bằng số phần tử khác nhau:
Đị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 dmin bằng trọng lượngHamming tối thiểu của mã C (bằng cách loại trừ từ mã null c0):
Trang 15Ma 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ủamộ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ớihạn trên của Hamming cho các tham số đã cho, chúng ta thấy rằng những nhữngcon số hoàn thành sự bình đẳng
-p) có khả năng sửa lỗi duy nhất được gọi là mã Hamming Do đó, chúng phùhợp với điều kiện trên chúng là những mã hoàn hảo Phương trình chẵn lẻ là kếtquả của việc kiểm tra chẵn lẻ nói trên ma trận, bao gồm tất cả các cột kháckhông có độ dài p = n - k Bằng cách sắp xếp thứ tự các cột một cách hợp lý,một mã hệ thống sẽ được nhận Với n = 7 và k = 4, ma trận H có hình thức
và ma trận sinh G được cho bởi công thức Do đó, quy tắc mẫu được áp dụngtrướ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 ratrong 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 đượcchuyể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)
Trang 16Nế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
Trang 17Hì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 Trongkhi đố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ọngnhất như mã Hamming, mã Golay, BCH và RS mã thuộc lớp này Do tính chấtcủ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 Trongphầ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ườnghữ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 = [c0c1… cN − 2cN − 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ỳ sangphải một vị trí c ’= [cN − 1c0… 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 − 2cN − 1]:
Trang 18- 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:
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
- Vì đa thức c ′ (p) liên kết với từ mã c ’bằng:
dịch chuyển theo chu kỳ phải của i vị trí ⇔ phép nhân với pi modulo pN - 1
3.2 Thuộc tính của Cyclic codes
- Nếu c (p) là một đa thức bậc N - 1 liên kết với một từ mã của một mã tuầnhoàn (N, K), sau đó:
cũng là một đa thức liên kết với một từ mã
Quan hệ này nói rằng từ một đa thức c (p), có thể tìm thấy tập của 2Ktừ mã của
Trang 19g (p) là đa thức có bậc nhỏ nhất trong số 2Ktừ 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 pN − 1.Thuộc tính.– Bộ
2K đa thức liên kết với 2K từ mã của một mã tuần hoàn (N, K) có thể nhận đượcbằng cách thực hiện phép nhân g (p) với 2K đa thức của độ thấp hơn hoặc bằng
dụ 8: p7- 1 có thể bị phân hủy thành sản phẩm của ba
đa thức bất khả quy ⇒ 3 mã tuần hoàn cho N = 7
• mã khối tuyến tính: thu được từ K từ mã độc lập
• mã tuần hoàn: chọn các từ mã được liên kết với các đa
thức sau: g (p); g (p) p; g (p) p2; …; g (p) pN-K
Ví dụ 9: Mã Hamming (7, 4) với g (p) = 1 + p + p3
⇒ generator matrix: G(7 x 4)
⇒ ma trận không có hệ thống
Trang 20- 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 = [u0u1… uK − 2uK − 1] và u (p) = u0+ u1p +…+ uK − 2p K − 2
+ uK − 1pK − 1 đa thức liên kết của nó Ta nhân u (p) với pN-K:
- Đa thức c (p) liên kết với một từ mã có dạng hệ thức c = [c0c1… c=] = [c0
c1… cN − K − 1u0u1… uK − 2uK − 1] có thể được viết như:
chia pN − K u (p) bởi g (p) Chúng ta được:
Tóm lại, để có được một từ mã có hệ thống c (p) = q (p) g (p), chúng ta phải:
- Nhân đa thức u (p) với pN - K;
- Thực hiện phép chia pN - Ku (p) theo g (p) để thu được phần dư t (p);
- Thêm phần còn lại t (p) vào pN - Ku (p):
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
Trang 213.3 Mã hóa Cyclic codes
3.3.1 Thực hiện phép chia đa thức
- Chúng ta hãy xem xét phép chia của một đa thức bị chia a (p) cho một đathức bị chia g (p) của độ d trong trường hữu hạn F2 Phần dư t (p) và thương q(p) của phép chia này là được đưa ra bởi quan hệ: