1. Trang chủ
  2. » Kỹ Thuật - Công Nghệ

Chương 5: Mã hóa kênh

24 715 4

Đang tải... (xem toàn văn)

Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống

THÔNG TIN TÀI LIỆU

Thông tin cơ bản

Định dạng
Số trang 24
Dung lượng 529,78 KB

Nội dung

Nếu một tuyến truyền dẫn PCM không đạt được tỷ số BER yêu cầu với các ràng buộc này thì cần phải sử dụng các phương pháp mã hóa điều khiển lỗi error control coding.. Mã hóa điều khiển lỗ

Trang 1

Chương 5

Mã hóa kênh

Theo quan điểm của ngành thông tin, tài nguyên thông tin chủ yếu là công suất, thời gian và băng thông của tín hiệu Đối với một môi trường thông tin cho trước, ba tài nguyên này có thể mâu thuẫn lẫn nhau Việc cân đối các mâu thuẫn này tùy vào từng trường hợp cụ thể Tuy nhiên, nhìn chung thì ta có thể đạt được tốc độ truyền sốî liệu cao nhất trong một băng thông nhỏ nhất trong khi giữ cho chất lượng truyền dẫn ở mức chấp nhận được Trong thông tin số

thì chất lượng truyền dẫn có liên quan mật thiết với xác suất lỗi bit P b tại đầu thu

Định lý về thông lượng kênh của Shannon- Hartley:

) N / S 1 ( log B C

đã chỉ ra giới hạn lý thuyết của tốc độ truyền số liệu từ bộ phát có công suất cho trước, qua một kênh với băng thông cho trước, hoạt động trong môi trường có nhiễu đã biết Tuy nhiên, để thực hiện được giới hạn lý thuyết này, ta phải tìm được một phương pháp mã hóa phù hợp (theo Shannon thì phương pháp này có tồn tại)

Trong thực tế, yêu cầu của việc thiết kế là phải thực hiện được một tốc độ truyền số liệu yêu cầu (thường được xác định bởi dịch vụ cung cấp) trong một băng thông hạn chế của một kênh truyền sẵn có và một công suất hạn chế tùy ứng dụng cụ thể Hơn nữa, còn phải đạt được tốc độ này với một tỷ số BER (Bit Error Rate) và thời gian trễ chấp nhận được Nếu một tuyến truyền dẫn PCM không đạt được tỷ số BER yêu cầu với các ràng buộc này thì cần phải sử dụng các phương pháp mã hóa điều khiển lỗi (error control coding).

Mã hóa điều khiển lỗi, còn được gọi là mã hóa kênh (channel encoding) được sử dụng để phát hiện và sửa các ký tự hay các bit thu bị lỗi Mã hóa phát hiện lỗi (error detection coding) được sử dụng như là bước đầu tiên của quá trình sửa lỗi bằng cách kích cho đầu cuối thu phát ra tín hiệu yêu cầu lặp lại tự động ARQ (Automatic Repeat reQuest), truyền theo hướng ngược lại về cho đầu cuối phát Nếu quá trình truyền lại thành công thì coi như là đã sửa được lỗi Nếu kỹ thuật ARQ không thích hợp, chẳng hạn như khi trễ truyền dẫn quá lớn thì sẽ sử dụng kỹ thuật mã hóa sửa lỗi không phản hồi FECC (Forward Error Correction Coding) Cả mã phát hiện lỗi và mã sửa lỗi đều đưa thêm độ dư vào dữ liệu phát, trong đó độ

dư thêm vào trong mã sửa lỗi nhiều hơn trong mã phát hiện lỗi Lý do là đối với mã sửa lỗi, độ dư thêm vào phải đủ cho bên thu không chỉ phát hiện được lỗi mà còn sửa được lỗi, không cần phải truyền lại

Phần đầu của chương này sẽ trình bày tổng quan về điều khiển lỗi áp dụng trong hệ thống thông tin số, bao gồm giới thiệu về các phương pháp điều khiển lỗi, phân loại các mã điều khiển lỗi

Phần sau của chương tập trung vào các loại mã điều khiển lỗi, bao gồm hai loại chính là mã khối (block code)mã chập (convolutional code).

- 105 -

Trang 2

- Chương V -

Phần mã khối sẽ nêu một loại mã khối đơn giản nhất là mã kiểm tra chẵn lẻ parity

Phần mã khối tuyến tính (linear block code) sẽ tập trung trình bày về mã vòng (cyclic code)

và một loại mã vòng đơn giản là mã Hamming

Phần mã chập ở cuối chương sẽ trình bày phương pháp dùng sơ đồ cây (tree diagram), sơ đồ lưới (trellis diagram) sơ đồ trạng thái (state diagram) để minh họa cho quá trình mã hóa mã chập Phần giải mã mã chập trình bày thuật toán Viterbi dùng sơ đồ lưới

Các nội dung về mã hóa được trình bày ở đây theo quan điểm là dành cho người đã nắm được lý thuyết mã hóa, chỉ nêu thuật toán mã hóa và giải mã, đưa ra ví dụ minh họa, chứ không nêu cơ sở toán học

5.1 Tổng quan về điều khiển lỗi

5.1.1 Các phương pháp điều khiển lỗi

Đại lượng đo lỗi thông thường là tỷ lệ lỗi bit BER (Bit Error Rate) hay xác suất lỗi bit (P b ) P b

đơn giản là xác suất một bit nhị phân bất kỳ truyền đi bị lỗi BER là tỷ số lỗi trung bình, được

tính là tích của P b và R b , ở đây R b là tốc độ bit trong kênh P b điển hình trong một hệ thống PCM tuyến tính là 10 -7, trong hệ thống PCM nén phi tuyến là 10 -5, trong hệ thống ADPCM là 10 -4

Điều khiển lỗi nhằm mục đích là làm giảm tỷ lệ lỗi trong một hệ thống khi tỷ lệ này lớn quá mức cho phép Nhìn chung có năm phương pháp điều khiển lỗi

Giải pháp đầu tiên và dễ thấy nhất là tăng công suất phát, nhưng không phải lúc nào cũng có thể thực hiện được Ví dụ như, đối với một máy điện thoại bỏ túi thì không chấp nhận khối lượng của pin quá lớn

Giải pháp thứ hai, rất hiệu quả trong việc chống lại lỗi chùm gây bởi fading, là sử dụng phân tập (diversity). Có ba kiểu phân tập chính là phân tập không gian, phân tập tần số và phân tập thời gian Cả ba kiểu phân tập này đều đưa thêm độ dư vào trong dữ liệu phát bằng cách truyền gấp đôi: qua hai đường, tại hai tần số hay vào hai thời điểm khác nhau Trong phân tập không gian, sử dụng hai hay nhiều antenna đặt tại những vị trí đủ xa để có một trong các antenna đó thu được tín hiệu tốt nhất, ít bị fading nhất Phân tập tần số sử dụng hai hay nhiều tần số khác nhau để phát cùng một tin Phân tập tần số có thể là trong băng hay ngoài băng tùy vào khoảng cách tần số giữa các sóng mang Trong hệ thống phân tập thời gian, phát cùng một tin nhưng vào hai hay nhiều thời điểm khác nhau

Giải pháp thứ ba là truyền song công, hay còn gọi là kiểm tra echo (echo checking). Ở đây, khi bộ phát phát tin đến bộ thu, tin được phát ngược về bộ phát trên một kênh hồi tiếp riêng Nếu tin phát ngược về khác với tin phát đi thì biết là có lỗi Phương pháp này có khuyết điểm là yêu cầu băng thông gấp đôi so với truyền trên một hướng nên không chấp nhận khi cần tận dụng phổ

Phương pháp thứ tư để đối phó với BER cao là yêu cầu lặp lại tự động ARQ (Automatic Repeat reQuest). Trong hệ thống ARQ, mã phát hiện lỗi (error detecting code) được sử dụng đề bên thu kiểm tra lỗi trong khối số liệu thu và trả lời cho bên phát trên một kênh hồi tiếp

Trang 3

Tín hiệu trả lời là chấp nhận ACK (ACKnowledgment) khi số liệu thu đúng và không chấp nhận NAK (Non - AcKnowledgment) khi số liệu thu sai Nếu bên phát nhận NAK, bên phát phải tiến hành truyền lại khối số liệu bị lỗi Có hai kỹ thuật ARQ chính là ARQ dừng và đợi (stop and wait ARQ) ARQ liên tục (continuous ARQ). Trong hệ thống ARQ dừng và đợi, sau khi phát khối số liệu đi, bên phát dừng lại và chờ nhận trả lời từ bên thu, rồi tuỳ theo trả lời đó là ACK hay NAK mà bên phát phát khối số liệu tiếp theo hay phát lại khối số liệu vừa rồi Nếu thời gian chờ quá thời gian quy định (gọi là time-out), bên phát coi như là khối số liệu vừa phát bị lỗi và vẫn tiến hành phát lại Hạn chế của phương pháp này là thời gian trễ truyền dẫn lớn Trong hệ thống ARQ liên tục, các khối số liệu đều mang số thứ tự - N - và bản tin trả lời ACK/NAK cũng mang số thứ tự N tương ứng Bên phát liên tục phát đi các khối số liệu mà không chờ nhận trả lời từ bên thu Bên thu kiểm tra lỗi các khối số liệu thu và trả lời về cho bên phát bản tin ACK/NAK kèm theo số thứ tự của khối tin tương ứng Khi nào bên phát nhận trả lời NAK từ bên thu, bên phát sẽ phát lại tất cả các khối số liệu kể từ khối số liệu bị lỗi đối với ARQ lùi lại N (go-back-N ARQ), hoặc bên phát sẽ chỉ phát lại khối số liệu

bị lỗi đối với ARQ chọn lọc (selective ARQ). Mặc dù ARQ chọn lọc rất hiệu quả trong sử dụng băng thông nhưng yêu cầu dung lượng bộ nhớ lớn hơn ARQ lùi lại N, đặc biệt trong các kết nối tốc độ cao ARQ phù hợp với các hệ thống thông tin máy tính, vì ở đó có sẵn kênh song công để bên thu có thể phát lại cho bên phát bản tin ACK/NAK Tuy nhiên, trong các đường truyền dài với tốc độ cao, điển hình như thông tin vệ tinh thì rất khó thực hiện ARQ Phương pháp thứ năm để giảm BER là thực hiện mã hóa sửa lỗi không phản hồi FECC (Forward Error Correction Coding) Trong lịch sử, việc chấp nhận sử dụng rộng rãi FECC có trễ hơn so với các phương pháp khác, bởi vì độ phức tạp và giá cả của nó cao hơn Ngày nay, độ phức tạp đã giảm xuống nhờ vào sự gia tăng các chip mã hóa/ giải mã VLSI FECC

lợi dụng sự khác nhau giữa tốc độ truyền dẫn và thông lượng kênh để giảm xác suất lỗi P b Việc giảm xác suất lỗi bị trả giá bằng việc tăng thời gian trễ truyền dẫn, do tăng độ dư cho đủ để mã có thể phát hiện và sửa được lỗi và do mất thời gian kiểm tra khối số liệu thu để sửa lỗi Tuy nhiên, lợi ích của FECC có được thường nhiều hơn khuyết điểm về độì trễ lớn

Mã tuyến tính (Mã nhóm)

Mã không

tuyến tính

Mã chập

Mã hóa điều khiển lỗi

- 107 -

Trang 4

- Chương V -

5.1.2 Phân loại mã điều khiển lỗi

Nhìn chung, có thể phân loại mã phát hiện và sửa lỗi (gọi chung là mã hóa kênh - mã hóa

điều khiển lỗi) theo sơ đồ trong hình 5.1

a) Mã khối

Mã khối được đặc trưng bởi hai số nguyên n và k, và một ma trận sinh hay đa thức sinh

Hình 5.2 minh họa một bộ mã hóa mã khối với k bit tin vào và n bit mã hóa ra Từ mã n bit

được tạo ra duy nhất từ k bit tin và (n-k) là số bit kiểm tra dư Tỷ lệ mã (coder rate) là R = k/n, là tiêu chuẩn để đánh giá độ dư của mã Tỷ lệ mã thường từ 1/2 đến 1 Mã hệ thống (systematic code) là mã có mặt các bit tin cùng với các bit dư trong từ mã Trong các tài liệu về mã hóa thì có hai định nghĩa về mã hệ thống Định nghĩa nghiêm ngặt hơn cho rằng mã có tính hệ thống khi k bit tin phải nằm liên tục thành một khối và các bit dư phải nằm liên tục trong một khối khác Định nghĩa ít nghiêm ngặt hơn thì chỉ yêu cầu trong từ mã có mặt các bit tin chứ không cần phải nằm liên tục thành khối

mã hóa

k bit tin

0 và tính chất đóng làm cho việc tính toán đối với mã tuyến tính đặc biệt dễ Hình 5.3 là một

ví dụ đơn giản về mã tuyến tính Nó minh họa cho tính chất đóng của mã Có 4 ký tự nguồn là a, b, c, và d, k = 2, n = 5 Đây là mã (5, 2)

Hình 5.3 Minh họa tính chất đóng của mã khối tuyến tính

Mã vòng (cyclic code) là một lớp con của mã khối tuyến tính không có từ mã gồm toàn số 0

Trang 5

Một mã khối tuyến tính được gọi là mã vòng nếu sau một lần dịch vòng một từ mã thì cũng được một từ mã thuộc cùng bộ mã Ví dụ các từ mã sau đây được gọi là mã vòng:

1101000, 0110100, 0011010, 1000110, 0001101, 1010001, 0100011

Mã Golay là một loại mã vòng sửa được sai nhiều lỗi Mã Golay (23, 12) có khả năng sửa được 3 lỗi cho từ mã dài 23 bit Mã này được Golay phát minh năm 1949 và được nhiều chuyên gia quan tâm nghiên cứu tới cấu trúc và cơ chế giải mã Thực tế đang có hai phương pháp giải mã là phương pháp Kasamigiải mã tìm kiếm có hệ thống (systematic search decoding) Mã Golay (23, 12) được sử dụng khá phổ biến trong một số hệ thống thông tin

Mã BCH nhị phân (binary BCH code) là một loại mã vòng được Hocquenghem tìm ra năm

1959, sau đó được Bose và Chaudhuri tìm ra một cách độc lập vào năm 1960 Mã BCH có thể sửa được t lỗi trong từ mã dài n bit, với Ví dụ mã BCH (15, 7) có thể sửa sai tối đa 2 lỗi

1 t 2 d

, mt k n , 1 2 n

2

k n

2 2

n k

Mã chập được Elias đề xuất lần đầu tiên vào năm 1955 Sau đó, Wozencraft đưa ra một thuật toán giải mã tương đối hiệu quả Năm 1963, Massey đưa ra cách giải mã ít hiệu quả hơn nhưng dễ thực hiện Năm 1967, Viterbi đã đưa ra thuật toán giải mã tối ưu được gọi là thuật toán Viterbi Từ đây, mã chập được ứng dụng rộng rãi trong ngành viễn thông

5.1.3 Khả năng phát hiện và sửa lỗi của mã khối

- 109 -

Trang 6

- Chương V -

a) Mối quan hệ giữa khoảng cách Hamming và khả năng phát hiện và sửa lỗi

Lý thuyết mã đã chứng minh rằng: khoảng cách Hamming giữa các từ mã trong một bộ mã có liên quan đến khả năng phát hiện sai và sửa sai của bộ mã đó, cụ thể là:

1 s r

trong đó d là khoảng cách Hamming, r là số lỗi phát hiện được, s là số lỗi sửa được, s ≤ r

Ta kiểm tra điều này qua một ví dụ minh họa sau đây:

Giả sử ta có bộ mã đều M M có 8 từ mã như sau:

Gọi 4 từ mã trên là từ mã dùng và 4 từ mã còn lại là từ mã cấm

Trong trường hợp sai 1 lỗi, rõ ràng các từ mã dùng được truyền đi sẽ chuyển thành các từ mã cấm bên thu Cụ thể là B (001) chuyển thành F (101), D (011), A (000); C chuyển thành G(110), A (000), D (011); E chuyển thành A (000), G (110), F (101); H chuyển thành D (011), F (101), G (110) Lúc này có thể dễ dàng phát hiện được lỗi Nếu bên thu nhận được từ mã là A, có thể kết luận là từ mã truyền đi bị lỗi nhưng không thể kết luận được từ mã nào (B,

C hay E) đã truyền đi Nói cách khác, khi số trường hợp sai nhiều hơn số từ mã cấm thì không thể phát hiện được lỗi Trong trường hợp sai 2 lỗi, ta thấy từ mã dùng này sẽ chuyển thành từ mã dùng khác nên không thể phát hiện được lỗi

Từ M, ta lập bộ mã M 2 có khoảng cách Hamming đều là 3 Nếu chọn từ mã B (001) làm từ

mã xuất phát thì bộ mã M 2 bao gồm 2 từ mã sau:

Trong trường hợp sai 1 lỗi, rõ ràng các từ mã dùng được truyền đi sẽ chuyển thành các từ mã cấm bên thu Cụ thể là B (001) chuyển thành F (101), D (011), A (000); G chuyển thành C(010), E (100), H (111) Lúc này có thể dễ dàng phát hiện được lỗi và do số trường hợp sai

Trang 7

không trùng nhau và bằng sốú từ mã cấm nên có thể sửa được lỗi Trong trường hợp sai 2 lỗi,

ta thấy từ mã dùng chuyển thành từ mã cấm nhưng trùng với từ mã cấm trong trường hợp sai

1 lỗi chỉ phát hiện được lỗi chứ không sửa được lỗi

Tóm lại, từ ví dụ trên ta có thể kết luận: nếu khoảng cách Hamming là 2 thì có khả năng phát hiện được 1 lỗi, nếu khoảng cách Hamming là 3 thì có khả năng phát hiện và sửa được 1 lỗi và phát hiện được 2 lỗi Điều này hoàn toàn đúng chứng minh trên về mối quan hệ giữa khoảng cách Hamming và khả năng phát hiện và sửa lỗi của mã

Cũng qua ví dụ trên về bộ mã M 2 ta thấy rằng: với số lượng từ mã trong bộ mã là 2 thực sự trong mỗi từ mã chỉ có 1 bit tin Nhưng ở đây chiều dài từ mã là 3 Như vậy trong 3 bit đó có

2 bit dư "Dư" ở đây hiểu theo nghĩa là không mang tin nhưng được thêm vào nhằm mục đích kiểm tra lỗi Phần sau ta sẽ xét tổng quát về mối quan hệ giữa độ dài tổng cộng của từ mã và số bit tin

b) Mối quan hệ giữa độ dài tổng cộng của từ mã và số bit tin

Để tìm ra mối quan hệ giữa độ dài tổng cộng của từ mã và số bit tin, trước hết ta đưa ra khái

niệm vector lỗi e Vector lỗi là vector biểu diễn vị trí các bit lỗi xuất hiện trong từ mã thu, qui ước bit không lỗi được biểu diễn là 0 và bit lỗi được biểu diễn là 1

Ví dụ từ mã phát là 1110010 và từ mã thu là 1100110 Lúc này vector lỗi là e = 0010100 Gọi độ dài tổng cộng của từ mã là: n; suy ra số từ mã tổng cộng là: 2 n

Gọi số bit tin trong từ mã là : k; suy ra số từ mã dùng là: 2 k

Vậy số từ mã cấm là: 2 n

- 2 k Gọi E là số lượng vector lỗi, ta có:

n 3

! n C

k n k

2 2 2

Trong trường hợp sai 1 lỗi, ta có:

n E E

1 =

=

Vậy quan hệ giữa n và k phải thỏa mãn bất đẳng thức sau:

- 111 -

Trang 8

- Chương V -

1 n

2 2

n k

+

5.2 Mã khối

5.2.1 Mã kiểm tra chẵn lẻ (parity)

Đây là loại mã khối đơn giản nhất Mã này được dùng phổ biến trong truyền số liệu dạng ASCII Với phương pháp này, mỗi ký tự trước khi truyền đi được thêm vào một bit chẵn lẻ, gọi là bit parity (P) Bit P được tính toán dựa vào ký tự phát sao cho tổng số bit 1 trong ký tự (kể cả bit P) là số chẵn nếu parity là loại chẵn ( even parity) và là số lẻ nếu parity là loại lẻ (odd parity) Dùng mã parity lẻ sẽ tránh được trường hợp truyền từ mã gồm toàn số 0, tuy nhiên, mã parity chẵn lại được dùng phổ biến hơn

Hình 5.4 là một ví dụ minh họa cho mã kiểm tra chẵn lẻ Bit parity chẵn là 1, bit parity lẻ là

0 với ký tự 1001001 Tỷ lệ mã là 7/8, một mức dư rất thấp

Trang 9

Khi nhận ký tự, bên thu sẽ thực hiện tính toán bit parity tương tự như bên phát và so sánh Nếu chúng bằng nhau thì kết luận không có lỗi, nếu khác nhau thì kết luận có lỗi

Mạch tính toán bit parity cho cả bên phát và bên thu đơn giản là tập các cổng XOR như trên

hình 5.5

Bây giờ ta xét đến khả năng phát hiện lỗi của mã parity Giả sử dùng P chẵn, các từ mã mang tin là 7 bit từ 0000000 đến 1111111, các từ mã liên tiếp trong bộ mã này sẽ là:

0000000 0

0000001 1

0000010 1

Ta thấy khoảng cách Hamming của bộ mã này là 2 Vậy theo lý thuyết mã, mã này chỉ phát hiện được 1 lỗi Tuy nhiên, thực tế mã này phát hiện được tất cả các lỗi đơn hay các lỗi xuất hiện với số lỗi lẻ, không phát hiện được các lỗi xuất hiện với số lỗi chẵn

5.2.2 Mã kiểm tra tổng khối BCC(Block sum Check Character)

Khi truyền đi một khối ký tự, một ký tự trong khối có thể bị lỗi, và vì vậy coi như khối đó bị lỗi Xác suất khối ký tự bị lỗi gọi là xác suất lỗi khối (block error rate). Khi truyền đi khối ký tự, ta có thể cải thiện khả năng khả năng phát hiện lỗi của mã parity bằng cách không chỉ thêm bit P cho riêng từng ký tự đơn lẻ mà còn thêm tập các bit P tính trên cả một khối hoàn chỉnh

Với phương pháp này, mỗi ký tự trong khối được thêm vào một bit P, gọi là bit parity hàng (row parity), mỗi vị trí của bit trong khối được thêm một bit P gọi là bit parity cột (column parity). Tập các bit parity cột tạo thành ký tự kiểm tra tổng khối BCC

Hình 5.6 trình bày một ví dụ dùng parity chẵn cho hàng và parity lẻ cho cột

B 0 B 1 B 2 B 3 B 4 B 5 B 6 P

1 1 1 1 0 0 1 1

BCC =

Các bit parity cột

Các bit Parity hàng

Nội dung khung

1

Bit P cho BCC

Hình 5.6 Ví dụ kiểm tra tổng modulo-2

- 113 -

Trang 10

- Chương V -

Qua ví dụ trên ta thấy mặc dù hai bit lỗi trong một ký tự không được phát hiện nhờ bit parity hàng nhưng sẽ được phát hiện nhờ bit parity cột Mã này không phát hiện được hai bit lỗi trong cùng ký tự xảy ra ở cùng cột vào cùng thời điểm (ví dụ như các bit lỗi xuất hiện ở các

vị trí như đánh dấu trong hình) Tuy nhiên, khả năng này rất ít xảy ra nên mã kiểm tra tổng đã cải thiện được khả năng phát hiện lỗi của mã parity đơn Nếu xảy ra lỗi đơn thì căn cứ vào bit

P hàng và P cột thu sai khác so với P hàng và P cột tính, ta có thể xác định được vị trí bit lỗi,

do đó có thể sửa lỗi

Phương pháp kiểm tra tổng thường được dùng trong trường hợp số liệu truyền đi là một mảng ký tự ASCII

Phương pháp này có một biến thể là sử dụng tổng bù 1 để tính BCC thay cho tổng modulo-2 Trong phương pháp mới này, xem các ký tự trong khối cần truyền như là các số nhị phân không dấu Trước hết, cộng các số này lại dùng thuật toán bù 1, sau đó đảo ngược kết quả lại tạo thành BCC Bên thu tiến hành tính tổng bù 1 của tất cả các ký tự trong khối (kể cả BCC), nếu không có lỗi xuất hiện thì kết quả phải bằng 0 Lưu ý rằng, với thuật toán bù 1, bit nhớ cuối cùng được quay vòng rồi cộng vào tổng đang có cho nên số 0 sẽ được biểu diễn hoặc là toàn số 0 hoặc là toàn số 1

Phương pháp mới này được trình bày qua ví dụ trên hình 5.7 Từ ví dụ ta thấy phương pháp

mới này phát hiện lỗi tốt hơn phương pháp tổng modulo-2

Hình 5.7 Ví dụ kiểm tra tổng bù 1

Mã kiểm tra tổng bù 1 thường được tính toán bằng phần mềm, dùng để kiểm tra lỗi cho các bản tin giao thức qua internet

5.2.3 Mã khối tuyến tính

a) Ví dụ về mã khối tuyến tính

Hình 5.8 minh họa một mạch tạo mã khối tuyến tính (4, 7) gồm 4 bit tin (I1 đến I4) và 3 bit kiểm tra chẵn lẻ (P1 đến P3)

Trang 11

Giả sử dùng parity chẵn, mối quan hệ giữa các bit tin và bit kiểm tra là:

3 2 1 3

4 2 1 2

4 3 1 1

I I I P

I I I P

I I I P

Hình 5.8 Mạch tạo mã khối (4, 7)

Ta có thể viết lại quan hệ giữa các bit tin và bit kiểm tra trong ví dụ trên như sau:

4 3

2 1

1

4 3

2 1

1

4 3

2 1

1

xI 0 xI 1 xI 1 xI 1 P

xI 1 xI 0 xI 1 xI 1 P

xI 1 xI 1 xI 0 xI 1 P

0 1 0 : 1 0 1 1

0 0 1 : 1 1 0 1 H

Phần bên trái của đường chấm chấm là các hệ số của các bit tin I1 đến I4, phần bên phải đường chấm chấm là ma trận 3x3 có đường chéo là 1 (ma trận đơn vị)

b) Ma trận sinh (generator matrix)

Ma trận sinh, ký hiệu là G, là một ma trận 4 x 7, được tạo ra bằng cách kết hợp một ma trận đơn vị 4 x 4 với ma trận hoán vị của ma trận bên trái đường chấm chấm của H Trong ví dụ

1 0 1 : 0 1 0 0

1 1 0 : 0 0 1 0

1 1 1 : 0 0 0 1 G

Nhờ ma trận sinh G, ta có thể tính toán được từ mã bằng cách nhân vector hàng m biểu diễn

- 113 -

Trang 12

- Chương V - cho từ mã mang tin với G Trong ví dụ trên, dãy mang tin là 1011, từ mã khối tuyến tính (4,7)

được tạo ra là:

0001110 0010101 0100011

c) Bảng syndrome để giải mã sửa lỗi

Syndrome là một từ mã độc lập với từ mã phát và chỉ phụ thuộc vào dãy thu bị lỗi, ký hiệu

vector syndrome là s Bảng syndrome là tập hợp tất cả các syndrome có thể có Gọi c là

vector biểu diễn cho từ mã khối (n, k) Ta có quan hệ:

c G x

Gọi e là vector lỗi và r là từ mã thu, ta có:

e c

Syndrome được tính như sau:

T T

T T

T T

H x e H x e 0 H x e H x c H x ) e c ( H x r

Bảng syndrome được tính sẵn với giả thiết là truyền đi từ mã gồm toàn bit 0 Ví dụ bảng

syndrome trong trường hợp sai 1 lỗi như hình 5.9:

Vector lỗi Syndrome

001 0000001

010 0000010

100 0000100

110 0001000

101 0010000

011 0100000

111 1000000

000 0000000

Hình 5.9 Bảng syndrome hoàn chỉnh cho tất cả các lỗi đơn

Nhìn vào bảng hình 5.9 ta thấy: khi không có lỗi syndrome là 0, khi có lỗi syndrome khác 0

Ngày đăng: 29/04/2014, 14:19

HÌNH ẢNH LIÊN QUAN

Hình 5.1 Phân loại mã điều khiển lỗi - Chương 5: Mã hóa kênh
Hình 5.1 Phân loại mã điều khiển lỗi (Trang 3)
Hình 5.2 minh họa một bộ mã hóa mã khối với k bit tin vào và n bit mã hóa ra. Từ mã n bit - Chương 5: Mã hóa kênh
Hình 5.2 minh họa một bộ mã hóa mã khối với k bit tin vào và n bit mã hóa ra. Từ mã n bit (Trang 4)
Hình 5.2 Mã khối hệ thống (n, k) - Chương 5: Mã hóa kênh
Hình 5.2 Mã khối hệ thống (n, k) (Trang 4)
Hình 5.4 là một ví dụ minh họa cho mã kiểm tra chẵn lẻ. Bit parity chẵn là 1, bit parity lẻ là - Chương 5: Mã hóa kênh
Hình 5.4 là một ví dụ minh họa cho mã kiểm tra chẵn lẻ. Bit parity chẵn là 1, bit parity lẻ là (Trang 8)
Hình 5.6 trình bày một ví dụ dùng parity chẵn cho hàng và parity lẻ cho cột. - Chương 5: Mã hóa kênh
Hình 5.6 trình bày một ví dụ dùng parity chẵn cho hàng và parity lẻ cho cột (Trang 9)
Hình 5.7 Ví dụ kiểm tra tổng bù 1 - Chương 5: Mã hóa kênh
Hình 5.7 Ví dụ kiểm tra tổng bù 1 (Trang 10)
Hình 5.8 Mạch tạo mã khối (4, 7) - Chương 5: Mã hóa kênh
Hình 5.8 Mạch tạo mã khối (4, 7) (Trang 11)
Giả sử tại bên thu, ta thu được từ mã: 111001101111. Hình 5.11 trình bày việc thực hiện  phép chia đa thức thu cho đa thức sinh như trên - Chương 5: Mã hóa kênh
i ả sử tại bên thu, ta thu được từ mã: 111001101111. Hình 5.11 trình bày việc thực hiện phép chia đa thức thu cho đa thức sinh như trên (Trang 14)
Hình 5.11 Ví dụ giải mã CRC và phát hiện lỗi - Chương 5: Mã hóa kênh
Hình 5.11 Ví dụ giải mã CRC và phát hiện lỗi (Trang 15)
Hình 5.12 Sơ đồ mạch tạo CRC bên phát - Chương 5: Mã hóa kênh
Hình 5.12 Sơ đồ mạch tạo CRC bên phát (Trang 16)
Hình 5.13 Sơ đồ mạch kiểm tra CRC bên thu - Chương 5: Mã hóa kênh
Hình 5.13 Sơ đồ mạch kiểm tra CRC bên thu (Trang 17)
Hình 5.15 minh họa một bộ mã hóa mã chập với k = 1, K = 3, n = 2. - Chương 5: Mã hóa kênh
Hình 5.15 minh họa một bộ mã hóa mã chập với k = 1, K = 3, n = 2 (Trang 20)
Hình 5.17 Sơ đồ lưới biểu diễn bộ mã hóa mã chập ở hình 5.15 - Chương 5: Mã hóa kênh
Hình 5.17 Sơ đồ lưới biểu diễn bộ mã hóa mã chập ở hình 5.15 (Trang 21)
Hình 5.16 Sơ đồ cây biểu diễn bộ mã hóa mã chập ở hình 5.15 - Chương 5: Mã hóa kênh
Hình 5.16 Sơ đồ cây biểu diễn bộ mã hóa mã chập ở hình 5.15 (Trang 21)
Hình 5.18 Sơ đồ lưới giải mã - Chương 5: Mã hóa kênh
Hình 5.18 Sơ đồ lưới giải mã (Trang 22)
Hình 5.19 Đường sống và kết quả giải mã - Chương 5: Mã hóa kênh
Hình 5.19 Đường sống và kết quả giải mã (Trang 22)

TỪ KHÓA LIÊN QUAN

w