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

Xử lý lỗi trong thông tin số

123 715 0

Đ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 123
Dung lượng 1,11 MB

Nội dung

Tuy nhiên, một số mã có thể phát hiện sự có mặt của các lỗi tai họa bằng cách khảo sát bản tin thu được.. Nếu số liệu ở đầu ra của hệ thống thông tin số bị lỗi thì có thể khắc phục nhờ m

Trang 1

BỘ GIÁO DỤC VÀ ĐÀO TẠO TRƯỜNG ĐẠI HỌC BÁCH KHOA HÀ NỘI

-

HUỲNH NGUYỄN BẢO PHƯƠNG

XỬ LÝ LỖI TRONG THÔNG TIN SỐ

LUẬN VĂN THẠC SĨ KHOA HỌC Chuyên ngành : Điện tử viễn thông

NGƯỜI HƯỚNG DẪN KHOA HỌC : PHƯƠNG XUÂN NHÀN

Hà Nội – 2007

Trang 2

Danh mục hình vẽ Error! Bookmark not defined

Danh mục các bảng biểu Error! Bookmark not defined

Danh sách các từ thuật ngữ và các từ viết tắtError! Bookmark not defined

Mở đầu Error! Bookmark not defined

Chương 1: Tổng quan về hệ thống IP Call CenterError! Bookmark not defined

1.1 Định nghĩa Error! Bookmark not defined

1.2 Yêu cầu chung đối với hệ thống IP Call CenterError! Bookmark not defined

1.3 Lịch sử phát triển Error! Bookmark not defined

1.4 Lợi ích và khả năng ứng dụng của IP Call CenterError! Bookmark not defined

1.5 Một số giải pháp của các hãng trên thế giới Error! Bookmark not defined

1.5.1 Giải pháp của Ericsson Error! Bookmark not defined

1.5.2 Giải pháp của Avaya Error! Bookmark not defined

1.5.3 Giải pháp IBM CallPath Error! Bookmark not defined

1.6 Thị trường Việt Nam-nhu cầu, hiện trạng và khả năng ứng dụngError! Bookmark not defin 1.6.1 Nhu cầu Error! Bookmark not defined

1.6.2 Khả năng ứng dụng trong mạng Viễn thông Việt NamError! Bookmark not defined 1.7 Mô hình hệ thống IP Call Center điển hình.Error! Bookmark not defined

1.8 Cấu trúc kết nối IP Call Center Error! Bookmark not defined

1.9 Vấn đề an toàn và bảo mật Error! Bookmark not defined

1.10 Các chức năng cơ bản của hệ thống Error! Bookmark not defined

1.10.1 Hỗ trợ khả năng xử lý cuộc gọi đến thông minh:Error! Bookmark not defined 1.10.2 Hỗ trợ nhiều Call Center ảo (VCC) Error! Bookmark not defined

1.10.3 Tính linh hoạt và khả năng điều khiểnError! Bookmark not defined

1.10.4 Hỗ trợ tương tác với IVR (Interactive Voice):Error! Bookmark not defined

1.10.5 Tính bảo mật Error! Bookmark not defined

1.10.6 Thực hiện báo cáo Error! Bookmark not defined

Trang 3

2.1 Mô hình hoá hệ thống Error! Bookmark not defined

2.1.1 Các tác nhân tham gia vào hệ thống Error! Bookmark not defined

2.1.2 Mô hình giao tiếp giữa các tác nhân với hệ thốngError! Bookmark not defined 2.2 Yêu cầu về tính năng của IP Call Center Error! Bookmark not defined

2.2.1 Tính hiệu quả và khả dụng Error! Bookmark not defined

2.2.2 Độ tin cậy Error! Bookmark not defined

2.2.3 Khả năng bảo trì, sửa đổi và nâng cấp Error! Bookmark not defined

2.2.4 Khả năng tương thích môi trường Error! Bookmark not defined

2.2.5 Bản quyền sản phẩm Error! Bookmark not defined

2.2.6 Tính an toàn và bảo mật Error! Bookmark not defined

2.2.7 Đơn giản cho người sử dụng, quản lý, khai thácError! Bookmark not defined

2.3 Mô hình thiết kế tổng thể Error! Bookmark not defined

2.3.1 Mô hình dựa trên SIP base Error! Bookmark not defined

2.3.2 Sử dụng Parlay API trên cơ sở mạng NGNError! Bookmark not defined

2.4 Các thành phần chính của hệ thống Error! Bookmark not defined

2.4.1 SIP platform Error! Bookmark not defined

2.4.2 ACD Service(Automatic Call Distribution)Error! Bookmark not defined

2.4.3 IVR Service(Interactive Voice Response)Error! Bookmark not defined

2.4.4 Call Logger Error! Bookmark not defined

2.4.5 Database Server Error! Bookmark not defined

2.4.6 Service Database Error! Bookmark not defined

2.4.7 Customer Server Error! Bookmark not defined

2.4.8 Voice Mail Server Error! Bookmark not defined

2.4.9 Conference Server Error! Bookmark not defined

2.4.10 Agent Desktop (ACD Agent) Error! Bookmark not defined

2.4.11 Supervisor Agent (Supervisor Desktop)Error! Bookmark not defined

2.4.12 Hệ thống quản lý cuộc gọi – Call Management SystemError! Bookmark not defined 2.4.13 Web Server Error! Bookmark not defined

2.4.14 Email Server Error! Bookmark not defined

2.4.15 SMS Server Error! Bookmark not defined

Trang 4

2.5.1 Triển khai theo từng đơn vị Error! Bookmark not defined

2.5.2 Triển khai theo từng vùng Error! Bookmark not defined

2.5.3 Ví dụ hoạt động của hệ thống Error! Bookmark not defined

Chương 3: Thiết kế chi tiết và thực hiện các module hệ thốngError! Bookmark not d

3.1 IP-IP gateway Error! Bookmark not defined

3.1.1 Yêu cầu Error! Bookmark not defined

3.1.2 Mô hình Error! Bookmark not defined

3.2 Media server Error! Bookmark not defined

3.2.1 Yêu cầu mặt cắt giao diện Error! Bookmark not defined

3.2.2 Yêu cầu về khả năng xử lý media Error! Bookmark not defined

3.2.3 Yêu cầu về tính mở của hệ thống Error! Bookmark not defined

3.2.4 Yêu cầu về dung lượng hệ thống Error! Bookmark not defined

3.3 IP Call Center Error! Bookmark not defined

3.3.1 Yêu cầu Error! Bookmark not defined

3.3.2 Mô hình Error! Bookmark not defined

3.4 ACD service Error! Bookmark not defined

3.4.1 Yêu cầu Error! Bookmark not defined

3.4.2 Mô hình Error! Bookmark not defined

3.4.3 Tổ chức dữ liệu Error! Bookmark not defined

3.5 VCC Error! Bookmark not defined

3.6 ACD agent Error! Bookmark not defined

3.6.1 Yêu cầu Error! Bookmark not defined

3.6.2 Cấu trúc dữ liệu các trạng thái của ACD agentError! Bookmark not defined

3.7 Suppervisor agent Error! Bookmark not defined

3.8 Các vấn đề về độ ổn định, chất lượng và hiệu năng của hệ thốngError! Bookmark not defin 3.8.1 Độ ổn định của hệ thống Error! Bookmark not defined

3.8.2 Chất lượng dịch vụ Error! Bookmark not defined

3.8.3 Hiệu năng của hệ thống Error! Bookmark not defined

Trang 5

4.2 Những vấn đề còn tồn tại Error! Bookmark not defined

4.3 Khuyến nghị và hướng phát triển Error! Bookmark not defined

4.4 Các dịch vụ gia tăng có thể cung cấp trên nền tảng Call CenterError! Bookmark not define 4.5 Thử nghiệm Error! Bookmark not defined

Chương 5: Kết luận Error! Bookmark not defined

Tài liệu tham khảo Error! Bookmark not defined

Tóm tắt luận văn Error! Bookmark not defined

Trang 6

• Lỗi ngẫu nhiên: các bít lỗi phụ thuộc lẫn nhau Nhiễu cộng tính là điển hình

gây ra lỗi ngẫu nhiên Lỗi ngẫu nhiên xuất hiện trong 1 kênh khi các bít riêng biệt của bản tin đã truyền bị làm sai lạc do nhiễu Chúng có thể được biểu hiện như các bít sai lạc riêng biệt trong bản tin Lỗi ngẫu nhiên có thể tạo bởi do nhiễu nhiệt trong các kênh liên lạc

• Lỗi cụm: các bít lỗi xuất hiện liên tiếp cùng lúc như các nhóm Những sai sót

của phương tiện trong các hệ thống lưu trữ số có thể gây nên lỗi cụm Lỗi cụm

được biểu hiện như là 1 dãy các bít sai lạc sát nhau trong một tín hiệu Chúng có thể được gây ra bởi pha-đinh trong các kênh liên lạc, hay bởi các phương tiện lớn hay sai sót của máy móc Lỗi cụm có thể khó sửa đối với 1 vài loại mã Tuy nhiên mã khối(đặc biệt là mã Reed-Solomon) có thể xử lý các nhiễu cụm 1 cách hiệu quả Khả năng sửa lỗi cụm của 1 mã khối phụ thuộc vào số lượng lỗi trong tín hiệu Phần đan xen có thể dùng để mở rộng khả năng sửa lỗi của mã Reed-Solomon

• Lỗi xung: những khối dữ liệu lớn là đầy đủ lỗi Sấm chớp hay các hư hỏng hệ

thống quan trọng có thể gây ra lỗi xung Lỗi xung có thể gây nên các tai họa hư hỏng trong hệ thống liên lạc Chúng có lẽ không thể nhận ra bằng sửa lỗi trước(FEC) Nói chung, các hệ thống mã hoá thất bại trong việc tạo lại bản tin

với sự hiện diện của các lỗi tai họa Tuy nhiên, một số mã có thể phát hiện sự có mặt của các lỗi tai họa bằng cách khảo sát bản tin thu được Điều này rất hữu ích

trong thiết kế hệ thống bởi vì bản tin không thể khôi phục ít nhất có thể được báo

ở bộ giải mã

Trang 7

Nếu số liệu ở đầu ra của hệ thống thông tin số bị lỗi thì có thể khắc phục nhờ một trong hai kỹ thuật sau:

• Phía thu yêu cầu lặp lại tự động (ARQ) sau khi phát hiện lỗi (Hình 1.1) Sự khôi phục bằng cách truyền lại là chuyện bình thường trong các hệ thống thông tin mà ở đó nó có thể Tuy nhiên nếu sự truyền lại bị gián đoạn, tuỳ theo khoảng cách lớn (nhỏ) kỹ thuật trên có thể trở nên không hiệu quả Và vì vậy có 1 trường hợp khác khi việc phát lại là không thể, ví dụ người ta xét 1 tài liệu bị sai lạc mà không dự phòng(sao lưu)

• Bên thu sửa lỗi bằng cách tìm từ mã có giá trị gần với bản tin nhận nhất, giả

định rằng gần nhất là giống nhau nhất, bởi vì một lỗi sai lạc giống nhiều hơn với

1 số khác Kỹ thuật này được gọi là sửa lỗi (FEC) trực tiếp (Hình 1.2)

Yêu cầu truyềnlại

Bản tin truyền lạiHình 1.1: Khôi phục-lỗi bằng cách phát hiện và truyền lại

Trang 8

thì tốc độ số liệu có ích sẽ nhỏ (vì số bít dư thêm vào lớn): bên phát sẽ mất một thời gian dài trong khi đợi ACK/NAK

Việc xử lý lỗi bao gồm hai quá trình: phát hiện lỗi và sửa lỗi Phát hiện lỗi được dùng trong các mạng liên lạc như : mạng không dây, mạng internet và ở bất kỳ

đâu có thể truyền lại được và xác suất lỗi bít là tương đối thấp Sửa lỗi được dùng trong các phương tiện lưu trữ (ram, disk ) hay ở bất cứ nơi nào việc truyền lại là không thuận tiện và không thể:

• Mã phát hiện lỗi

Việc xác định sơ đồ phát hiện lỗi dựa trên hai nhân tố: tỷ lệ lỗi bít (BER) của kênh và kiểu lỗi (lỗi đơn ngẫu nhiên hay lỗi cụm) Hiện nay có nhiều hai loại mã phát hiện lỗi được sử dụng rộng rãi là: mã kiểm tra chẵn lẻ (parity) và kiểm tra độ dư vòng (CRC)

Trang 9

hiện tính toán tương tự bên phát để phát hiện lỗi Số bít kiểm tra thường được chọn là 12, 16, 32 bít Các bít kiểm tra gọi là dãy kiểm tra khung FCS hay kiểm tra độ dư vòng CRC

• Mã sửa lỗi

Hay còn được gọi là mã hoá kênh Mã hoá kênh nhằm cải tiến kỹ thuật truyền tin, cho phép tín hiệu phát có khả năng chống lại ảnh hưởng của nhiễu Mã hoá kênh làm giảm lỗi bít (Pc) hoặc giảm tỷ số năng lượng bít trên mật độ nhiễu yêu cầu tại

đầu thu Có 2 loại mã sửa lỗi chủ yếu là: mã khối và mã chập

ẻ Mã khối

Mã khối tuyến tính được mô tả bằng 2 số nguyên n, k và một đa thức sinh hay ma trận sinh Tham số k là các bít dữ liệu của bản tin nguồn, tham số n là

tổng số bít của từ mã tại đầu ra của bộ mã hoá Tính chất của mã khối tuyến

tính là với mỗi từ mã được xác định duy nhất từ bản tin nguồn Tỷ số k/n được

gọi là tốc độ mã Mã khối bao gồm mã Hamming, mã Golay, mã kiểm tra chẵn

lẻ mật độ thấp (LDPC)

ẻ Mã chập

Mã chập được mô tả bằng 3 tham số n, k và K, trong đó k/n tương đương với tốc độ mã (thông tin trên bít được mã hoá) của mã khối, tuy nhiên n không

được định nghĩa như mã khối hay độ dài từ mã Tham số K được định nghĩa là

độ dài ràng buộc, bằng số tầng của thanh ghi dịch mã hoá Một tính chất quan

trọng của mã chập phân biệt với mã khối là bộ lập mã có nhớ, từ mã n bít phát

đi từ thủ tục lập mã không chỉ là hàm của K bít đầu vào mà còn là hàm của K-1 nhóm k bít trước đó

1.1 M∙ phát hiện lỗi

1.1.1 Mã Parity

Mó parity hay mã chẵn lẻ sẽ thờm một bít vào trong dữ liệu, và bít cho thờm này cho biết số lượng bít cú giỏ trị 1 của đoạn dữ liệu nằm trước là một số chẵn hay

Trang 10

một sè lÎ Nếu một bÝt bị thay đổi trong quá trình truyền dữ liệu, giá trị chẵn lẻ trong thông điệp sẽ thay đổi và do đó có thể phát hiện được lỗi (Chú ý rằng bÝt bị thay đổi có thể lại chính là bÝt kiểm tra) Theo quy ước chung, bÝt kiểm tra có giá trị

bằng 1 nếu số lượng bÝt có giá trị 1 trong dữ liệu là một số lẻ, và giá trị của bÝt kiểm tra bằng 0 nếu số lượng bÝt có giá trị 1 trong dữ liệu là một số chẵn Nói cách khác,

nếu đoạn dữ liệu và bÝt kiểm tra được gộp lại cùng với nhau, số lượng bÝt có giá trị bằng 1 luôn luôn là một số chẵn Việc kiểm tra dùng mã chẵn lẻ là một việc không được chắc chắn cho lắm, vì nếu số bÝt bị thay đổi là một số chẵn (2, 4, 6 - cả hai, bốn hoặc sáu bit đều bị hoán vị) thì mã này không phát hiện được lỗi Hơn nữa, mã chẵn lẻ không biết được bÝt nào là bÝt bị lỗi, kể cả khi nó phát hiện là có lỗi xảy ra Toàn bộ dữ liệu đã nhận được phải bỏ đi, và phải truyền lại từ đầu Trên một kªnh truyÒn bị nhiễu, việc truyền nhận thành công có thể mất rất nhiều thời gian, nhiều khi còn không truyền được nữa

Có hai loại mã chẵn lẻ: bÝt chẵn lẻ dùng quy luật số chẵn (even parity bit) và bÝt ch½n lẻ dùng quy luật số lẻ (odd parity bit) BÝt chẵn lẻ dùng quy luật số chẵn

có giá trị bằng 1 khi số lượng các bÝt 1, trong một nhóm bÝt cho trước, là một số lẻ (và khi cộng thêm bÝt chẵn lẻ vào, tổng số lượng bÝt có giá trị bằng 1 là một số

Trang 11

chẵn) Ngược lại, bít chẵn lẻ dựng quy luật số lẻ cú giỏ trị bằng 1 nếu số lượng cỏc bít 1, trong một nhúm bít cho trước, là một số chẵn (và khi cộng thờm bít chẵn lẻ vào, tổng số bít cú giỏ trị bằng 1 là một số lẻ) Bít chẵn lẻ dựng quy luật chẵn là một trường hợp đặc biệt của kỹ thuật kiểm tra độ d− vòng-CRC Trong CRC, bít CRC

được kiến tạo bằng cỏch dựng đa thức x+1

Mạch tính toán bít chẳn lẻ gồm tập các cổng XOR đ−ợc trình bày trong Hình 1.3 (cho cả bên thu và bên phát)

Ký tự/byte truyền

Bít dừng Bít chẵn lẻ Bít bắt đầu

Trang 12

việc cú lợi Lấy vớ dụ, mạch nối SCCI (bus) dựng bít chẵn lẻ để phỏt hiện lỗi trong truyền thụng, và rất nhiều cỏc phần lưu trữ trong bộ nhớ cỏc lệnh vi xử lý cũng dựng bít chẵn lẻ để bảo trợ hoạt động của nú nữa Do cỏc dữ liệu trong I-cache chỉ là một bản sao của bộ nhớ chớnh, nội dung của nú cú thể được xúa đi, nạp lại nếu dữ liệu ở trong chẳng may bị thoỏi húa.Trong truyền thông dữ liệu nối tiếp, dạng thức dữ liệu được dựng phổ thụng nhất là dạng thức 7 bít, với một bít chẵn lẻ dựng quy luật

số chẵn, và một hoặc hai bít dựng cho lệnh dừng lại Dạng thức này thớch ứng hầu hết cỏc dạng thức 7-bit ký tự ASCII dưới hỡnh thức byte 8- bít Byte là một hỡnh thức tiện lợi để biểu đạt dữ liệu Những dạng thức khỏc cũng cú thể thực hiện được, như dạng thức 8 bít dữ liệu cộng với một bít chẵn lẻ cú thể dựng để chuyờn chở tất

cả cỏc giỏ trị byte 8- bít

1.1.2 Mã CRC

Phương pháp trên thích hợp với các ứng dụng trong đó xuất hiện lỗi đơn Khi lỗi cụm xuất hiện, phải sử dụng một phương thức chặt chẽ hơn Lỗi chùm là một dòng bít bắt đầu và kết thúc là bít lỗi, các bít ở giữa có thể sai hay không

Phương pháp phát hiện lỗi cụm phổ biến nhất dựa trên cơ sở sử dụng mã đa thức Một tập bít kiểm tra được tính toán cho mỗi khung dựa vào nội dung khung, sau đó được gắn thêm vào đuôi khung để truyền đi Bên thu thực hiện tính toán tương tự bên phát để phát hiện lỗi Số bít kiểm tra thường được chọn là 12, 16, 32 bít Các bít kiểm tra gọi là dãy kiểm tra khung FCS hay kiểm tra độ dư vòng CRC

Tính toán tạo mã CRC bên phát:

- Biểu diễn khung thông tin dưới dạng đa thức M(x) bậc k-1 (số bít tin là k)

- Giả sử chiều dài mã CRC là r+1 bít Nhân M(x)ì2r ; tương đương với

phép dời các bít tin sang trái r vị trí (k > r)

- Chọn đa thức sinh G(x) bậc r Chia M(x)ì2r cho G(x) ta được thương số

là Q(x) và số dư R(x)

( ) ( ) ( ) ( ) ( )

r

=Q x +

Trang 13

- Cộng M(x)ì2r với số dư R(x), ta được đa thức cần truyền là T(x), với số bít

n=k+r+1, T x =M x ì2 +R x( ) ( ) r ( )

- Đổi T(x) thành mã nhị phân phát đi

Ví dụ 1.1: Cần truyền đi một khung thông tin 8 bít qua đường truyền số liệu, sử dụng CRC để phát hiện lỗi Đa thức sinh sử dụng x4+x3+1 Đa thức tin là

x7+x6+x5+x2+x

Nội dung khung: 11100110

Dời sang trái 4 bít: 11100110 0000

Đa thức sinh: 11001

Thực hiện phép chia

Kiểm tra CRC bên thu

Giả sử thu được T’(x)

- Chia T’(x) cho G(x) như bên phát

- Nếu phép chia hết thì kết luận thu đúng

- Nếu phép chia có dư thì kết luận có lỗi truyền dẫn

Trở lại ví dụ trên, giả sử thu được: 1110011011111 có lỗi chùm 4 bít

ở phía thu kiểm tra bằng cách thực hiện phép chia cho đa thức sinh nếu phần dư khác không thì kết luận có lỗi truyền dẫn

111001100000 11001 111001101111 11001

11001 10110110 11001 10110110

0010111 0010111

11001 11001

011100 011100

11001 11001

0010100 0010111

11001 11001

011010 011101

11001 11001

000110 001001

Phần dư Phần dư khác 0 ẻ Có lỗi Khung truyền đi: 11100110 0110

Việc lựa chọn đa thức sinh rất quan trọng vì nó xác định các kiểu lỗi được phát

hiện Một đa thức sinh r+1 bít sẽ phát hiện được:

Trang 14

- Tất cả lỗi đơn

- Hầu hết các lỗi đôi

- Hầu hết các lỗi xảy ra với số lẻ

- Tất cả lỗi chùm dài < r+1

- Hầu hết (99,99%) lỗi chùm dài > r+1

Dưới đây là danh sách các đa thức sinh phổ biến nhất của mã CRC hay là đa thức CRC:

CRC-12 CRC-16 CRC-CCITT

1.1.3.1 Mạch mã hoá

Trở lại với ví dụ trên, khung thông tin có 8 bít, đa thức sinh 11001 ở đây cần dùng thanh ghi dịch 4 bít để tượng trưng cho các bít x3, x2, x1, x0 trong đa thức sinh Với đa thức sinh này, x3 và x0 là bít 1, còn x2 và x1 là bít 0 Sơ đồ CRC bên phát

được trình bày trên Hình 1.4 Trạng thái mới của x1 và x2 được thay bằng trạng thái trước đó x0 và x1 Trạng thái mới của x0 và x3 được xác định bởi trạng thái của đường

Trang 15

H×nh 1-4 M¹ch t¹o m· CRC ph¸t

Trang 16

điều khiển phản hồi thay đổi từ 1 thành 0 để nội dung của thanh ghi FCS -là phần dư- đi theo sau nội dung khung phát đi trên đường truyền

1.1.3.2 Mạch giải mã

Sơ đồ CRC bên thu được trình bày trong Hình 1-5 Số liệu nhận được (RxD) lần lượt được dịch vào thanh ghi dịch SIPO ở mỗi ô bít Dòng bít được XOR với x3 và phản hồi lại thanh ghi dịch SIPO Mỗi khi nhận được byte 8 bit, thiết bị điều khiển

Phần dư = 0Hình 1-5 Mạch kiểm tra CRC bên thu

Trang 17

Mạch mã hoá và giải mã CRC thường được tích hợp vào trong thiết bị điều khiển truyền dẫn ở chế độ truyền định hướng bít Tuy nhiên, trong một vài trường hợp CRC còn dùng trong chế độ truyền định hướng ký tự Trong trường hợp này, thường tạo CRC bằng phần mềm

Ngoài ra, còn có những mã phát hiện lỗi khác nhưng không ứng dụng nhiều trong thực tế:

Mã-hai-trong-năm

Trong những năm của thập niờn kỷ 1940, Bell cú sử dụng một mó hiệu phức tạp hơn một chỳt, gọi là mã hai-trong-năm (two-out-of-five code) Mó này đảm bảo mỗi một khối 5 bít (cũn được gọi là khối-5) cú chớnh xỏc hai bít cú giỏ trị bằng 1 Mỏy tớnh cú thể nhận ra là dữ liệu nhập vào cú lỗi nếu trong một khối 5 bít khụng 2 bít cú giỏ trị bằng 1 Tuy thế, mã hai-trong-năm cũng chỉ cú thể phỏt hiện được một đơn vị bít mà thụi; nếu trong cựng một khối, một bít bị lộn ngược thành giỏ trị 1, và một bít khỏc bị lộn ngược thành giỏ trị 0, quy luật hai-trong-năm vẫn cho một giỏ trị đỳng,

và do đú nú khụng phỏt hiện là cú lỗi xảy ra

Tái diễn dữ liệu

Một mó nữa được dựng trong thời gian này là mó hoạt động bằng cỏch nhắc đi nhắc lại bít dữ liệu vài lần (tỏi diễn bít được truyền) để đảm bảo bít dữ liệu được truyền, truyền đến nơi nhận trọn vẹn Chẳng hạn, nếu bít dữ liệu cần được truyền cú giỏ trị bằng 1, một mó tỏi diễn n=3 sẽ cho truyền gửi giỏ trị "111" Nếu ba bít nhận được khụng giống nhau, thỡ hiện trạng này bỏo cho ta biết rằng, lỗi trong truyền thụng đó xảy ra Nếu kờnh truyền khụng bị nhiễu, tương đối đảm bảo, thỡ với hầu hết cỏc lần truyền, trong nhúm ba bít được gửi, chỉ cú một bít là bị thay đổi Do đú cỏc nhúm 001, 010, và 100 đều tương đương cho một bít cú giỏ trị 0, và cỏc nhúm

110, 101, và 011 đều tương đương cho một bít cú giỏ trị 1 - lưu ý số lượng bít cú giỏ

trị 0 trong cỏc nhúm được coi là cú giỏ trị 0, là đa số so với tổng số bít trong nhúm,

Trang 18

hay 2 trong 3 bít, tương đương như vậy, cỏc nhúm được coi là giỏ trị 1 cú số lượng bít bằng 1 nhiều hơn là cỏc bít cú giỏ trị 0 trong nhúm - chẳng khỏc gỡ việc cỏc

nhúm bít được đối xử như là "cỏc phiếu bầu" cho bít dữ liệu gốc vậy

Tuy nhiờn, những mó này khụng thể sửa tất cả cỏc lỗi một cỏch đỳng đắn hoàn toàn Chẳng hạn chỳng ta cú một vớ dụ sau: nếu một kờnh truyền đảo ngược hai bít

và do đú mỏy nhận thu được giỏ trị "001", hệ thống mỏy sẽ phỏt hiện là cú lỗi xảy

ra, song lại kết luận rằng bít dữ liệu gốc là bít cú giỏ trị bằng 0 Đõy là một kết luận sai lầm Nếu chỳng ta tăng số lần cỏc bít được nhắc lại lờn 4 lần, chỳng ta cú thể phỏt hiện tất cả cỏc trường hợp khi 2 bít bị lỗi, song chỳng ta khụng thể sửa chữa chỳng được (số phiếu bầu "hũa"); với số lần nhắc lại là 5 lần, chỳng ta cú thể sửa chữa tất cả cỏc trường hợp 2 bít bị lỗi, song khụng thể phỏt hiện ra cỏc trường hợp 3 bít bị lỗi

Núi chung, mó tỏi diễn là một mó hết sức khụng hiệu quả, giảm cụng suất xuống 3 lần so với trường hợp đầu tiờn trong vớ dụ trờn của chỳng ta, và cụng suất làm việc giảm xuống một cỏch nhanh chúng nếu chỳng ta tăng số lần cỏc bít được nhắc lại với mục đớch để sửa nhiều lỗi hơn

1.2 M∙ sửa lỗi

Toàn bộ mã sửa lỗi đều dựa trên cùng nguyên lý cơ bản : Phần dư được đưa vào thông tin để sửa bất kỳ lỗi nào có thể xuất hiện trong quá trình lưu trữ hay truyền dẫn Trong dạng cơ bản, những ký tự dư được thêm vào ký hiệu thông tin chứa 1 dãy mã hay từ mã Để minh họa, 1 từ được mã hoá với một mã khối được chỉ ra trong Hình 1.6 Như vậy đây là biên mã dạng hệ thống(sytematic) Điều này nghĩa là

những bít thông tin luôn xuất hiện trong k vị trí đầu tiên của một từ mã (n-k) ký

hiệu còn lại là hàm nào đó của ký hiệu thông tin và cung cấp phần dư mà chúng

được dùng với mục đích phát hiện và sữa lỗi Tập hợp tất cả dãy mã được gọi là mã sửa lỗi sửa lỗi (ECC)và được ký hiệu là C

Trang 19

Chức năng chính của kiểm soát lỗi là kiểm soát phần dư Với phần dư được kiểm soát này chỉ là một tập hợp con của tất cả bản tin có thể truyền chứa bản tin có giá trị Tập hợp con này được gọi là 1 mã và bản tin có giá trị được gọi là từ mã(codeword) hay véctơ mã(codevector) Một mã tốt là mã mà trong đó các từ mã

được “chia ra” để khả năng các lỗi sai lạc của từ mã này sang từ mã khác là nhỏ

Mã khối gia công tín hiệu trên cơ sở khối theo khối, xem mỗi khối bít thông tin

độc lập với những khối khác Nói cách khác mã khối là một phép toán không nhớ, theo hướng là những từ mã độc lập với nhau Ngược lại đầu ra của 1 bộ biên mã chập không chỉ phụ thuộc vào thông tin vào hiện tại mà còn phụ thuộc những thông tin vào hay ra trước đó hay là trên cơ sở khối theo khối hoặc bít theo bít Nên lưu ý rằng mã khối có nhớ thật sự, khi biên mã được xem như 1 quá trình bít theo bít, ở bên trong 1 từ mã

1.2.2 Khoảng cách Hamming, mặt cầu Hamming và khả năng sửa lỗi

Trang 20

Xét một mã sửa lỗi C với các phần tử nhị phân Để đạt được khả năng sửa lỗi không phải toàn bộ 2n véctơ nhị phân của chiều dài n được phép truyền đi, thay vào

đó C là một tập hợp con của không gian véctơ nhị phân n-chiều V2={0,1}n

Trong không gian véctơ nhị phân V2, khoảng cách được định nghĩa là số vị trí

bít tương ứng của 2 véctơ có giá trị khác nhau Lấy x = x ,x , ,x 1 ( 1,0 1,1 1,n-1) và

2 2,0 2,1 2,n-1

x = x ,x , ,x là 2 véctơ trong V2 Vậy khoảng cách Hamming giữa x1 vàx2,

ký hiệu là d H(x ,x 1 2) được định nghĩa như sau:

d x ,x = i:xH( 1 2) { 1,i ≠x ,0 i<n2,i ≤ } (1.1)

Từ đây (n, k, d min) sẽ được dùng để ký hiệu cho các tham số của mã khối chiều

dài n, với tin tức được mã hoá có chiều dài k bít và có khoảng cách Hamming tối thiểu d min Giả định rằng kích thước của mã là |C| =2k

Khoảng cách Hamming xác định các tính chất sửa lỗi Khoảng cách Hamming

là 2, cho phép phát hiện lỗi đơn Khoảng cách Hamming là 3, cho phép sửa lỗi đôi

Tổng quát, nếu khoảng cách Hamming là 2t+1, thì sửa được đến t lỗi

Tiêu chí đầu tiên để thiết kế 1 mã tốt là đảm bảo rằng khoảng cách của nó là

lớn nhất có thể để cho phép nhiều lỗi có thể được sửa Nếu khoảng cách d = 2t +1,

rõ ràng ta có thể phát hiện tất cả những sai lạc mà làm ảnh hưởng đến ≤ 2t bít của 1

từ mã bởi vì chúng không bao giờ có thể chuyển 1 từ mã thành 1 từ mã khác Rõ ràng, ít nhất trên nguyên lý chúng ta có thể sửa tất cả những sai lạc ảnh hưởng đến

Trang 21

≤ t bít của 1 từ mã bởi vì từ bị sai lạc (nghĩa là có khoảng cách nhỏ hơn) sẽ gần từ mã gốc hơn bất kỳ từ mã nào khác Nếu d chẵn, d = 2t, ta có thể phát hiện (2t-1)lỗi nhưng ta chỉ có thể sửa (t-1) lỗi, bởi vì t lỗi có thể mang ta gần với 1 số từ mã khác như từ mã gốc.(Ví dụ, nếu 00 và 11 là các từ mã với n =2, chúng ta có thể phát hiện

lỗi 01 và 10 nhưng ta không thể sửa chúng)

Tiêu chí thứ hai trong thiết kế 1 mã tốt là xây dựng mã, đó là chọn tập hợp con

từ tất cả 2n véctơ có thể, theo cách này phát hiện và sửa lỗi có thể thực hiện mà không cần so sánh véctơ nhận với tất cả từ mã có giá trị

Ví dụ 1-2: Mã sửa lỗi đơn giản nhất là mã lặp chiều dài 3 Mỗi bít lặp lại 3 lần, vì thế bít “ 0 ” được mã hoá vào trong véctơ (000) và bít “ 1 ” được mã hoá vào trong véctơ (111) Từ đó 2 từ mã khác nhau trong cả 3 vị trí, khoảng cách Hamming giữa chúng là 3 Hình 1.7 miêu tả đặc trưng cho mã này Khoảng cách nhị phân 3 chiều tương ứng với việc đặt 23 = 8 đỉnh của 1 khối lập phương 3 chiều Khoảng cách Hamming giữa 2 từ mã bằng số cạnh nối giữa 1 từ mã và các đỉnh không chứa từ mã kia Điều này tương đương với số toạ độ mà 1 mã cần để đổi (000) thành (111) hay ngược lại Vì vậy dH = ((000)(111)) = 3 Từ đó chỉ có 2 từ mã trong trường hợp này,

Trang 22

Lưu ý rằng kích thước của (hay số từ mã trong) S v t( ) được cho bởi biểu thức sau:

0

t t

định khả năng sửa lỗi của 1 mã C

Khả năng sửa lỗi, t, của mã C là bán kính lớn nhất của cầu Hamming S v t( )

xung quanh toàn bộ các từ mã v∈C, vì vậy đối với tất cả các cặp khác nhau v i,v j

C, cầu Hamming tương ứng bị tách rời ra

v v C

t = m a x l S∈ | vS v = ∅ vv (1.4) Khoảng cách tối thiểu dmin của C tương đương với một định nghĩa tổng quát hơn:

với [x] là số nguyên lớn nhất ≤ x

Chú ý rằng để tính khoảng cách tối thiểu d min của một mã khối C, theo đúng

công thức (1.2), cần tính tổng của (tại hầu hết) 2 k (2 k -1) khoảng cách giữa các cặp

khác nhau của từ mã Đây là thực tế không thể thực hiện được thậm chí đối với các

mã có kích thước tương đối khiêm tốn là k=50 Một trong những ưu điểm của mã

Trang 23

khối tuyến tính là chỉ cần biết khối lượng Hamming của toàn bộ (2 k -1) từ mã khác

0

1.3 m∙ khối tuyến tính

Mã khối tuyến tính là một lớp của mã kiểm tra chẵn lẻ Mã khối tuyến tính được

đặc trưng bởi hai thông số (n, k) Bộ lập mã chuyển đổi một khối bản tin k bít (véctơ bản tin) thành 1 khối dài hơn gồm n bít từ mã (véctơ mã) được xây dựng từ một bộ

các phần tử đã có Khi bộ chữ có 2 phần tử (0 và 1) thì mã là nhị phân bao gồm các

chữ số nhị phân (bít) k bít bản tin xác định 2k bản tin riêng biệt Các khối n bít xác

định 2n khối Mã hoá khối thực hiện phép gán một-một, trong đó 2k bản tin k bít

được ánh xạ độc nhất (một-một) vào tập hợp 2k từ mã n bít mới thông qua việc tra

bảng

Như đã đề cập ở trên, tìm ra 1 mã tốt nghĩa là tìm ra 1 tập hợp con của V2 với các véctơ mã càng xa nhau càng tốt Điều này là rất khó Hơn nữa, ngay cả khi tìm thấy 1 tập hợp như vậy thì vẫn còn vấn đề đó là làm thế nào để gán các từ mã vào bản tin thông tin

Mã tuyến tính là các không gian con véctơ của V2, nghĩa là mã hoá có thể được thực hiện bởi tính nhân ma trận ở dạng các mạch số, bộ mã hoá có thể được xây dựng bằng cách dùng cổng XOR, AND, D flip-flops

1.3.1 Ma trận sinh và kiểm tra chẵn lẻ

Ký hiệu C là mã (n, k, d min) tuyến tính nhị phân Khi đó C là không gian con

véctơ k-chiều, có 1 gốc là {v v0, , ,1L v kư1}, vì thế bất kỳ từ mã v∈ nào cũng có C

thể biễu diễn như là một tổ hợp tuyến tính của các phần tử trong gốc

Với u i∈{ }0,1 ,1≤ ≤ Phương trình (1.6) có thể viết dưới dạng của 1 ma trận i k

sinh G và véctơ bản tin u=(u u0, , ,1L u kư1), như sau:

Trang 24

L

(1.8)

Từ đó, C là không gian véctơ k-chiều trong V2, có 1 không gian CT đối ngẫu

(n-k)-chiều , tạo bởi những hàng của ma trận H, gọi là ma trận kiểm tra chẵn lẻ, vì thế,

với HT là ma trận H chuyển vị Đặc biệt, lưu ý rằng bất kỳ từ mã

Một đặc tính tốt của mã tuyến tính là tính khoảng cách tối thiểu của mã cho tới

tính khối lượng Hamming tối thiểu của các từ mã khác 0 của nó

Đầu tiên, xác định khối lượng Hamming wt H( )x của một véctơ x V∈ 2

như là số phần tử khác 0 trong x Từ định nghĩa của khoảng cách Hamming, ta dễ

dàng thấy rằng wt H( )x =d H( )x, 0 Đối với mã tuyến tính nhị phân C, lưu ý rằng

khoảng cách:

d H(v v1, 2)=d H(v1+v2,0)=wt H(v1+v2) (1.10)

Cuối cùng, do tính tuyến tính, v1+ ∈ Kết quả, khoảng cách tối thiểu của C v2 C

có thể tính toán bằng cách tìm khối lượng Hamming tối thiểu trong số (2 k-1) từ mã

khác 0 Điều này đơn giản hơn là cố tìm trong số các cặp từ mã thì đó vẫn là một

công việc rất đáng kể ngay cả với mã có kích thước (hay chiều) khiêm tốn

1.4 M∙ hoá và giải m∙ m∙ khối tuyến tính

1.4.1 Mã hoá với g và h

Công thức (1.7) đưa ra 1 quy tắc mã hoá cho mã khối tuyến tính mà có thể được

thực hiện trong 1 cách đơn giản Nếu mã hoá là hệ thống thì ma trận sinh G của mã

Trang 25

(n, k, d min) khối tuyến tính C có thể được đưa về dạng hệ thống, Gsys, bởi các phép tính hàng cơ bản hay các phép hoán vị cột Gsys được hình thành từ 2 ma trận con:

ma trận đơn vị (k ì k), ký hiệu là I K và ma trận con chẵn lẻ k ì (n-k), vì vậy:

Nếu các tham số của C, đó là k<(n-k) hay tương đương với tỷ lệ mã k/n<1/2 thì

mã hoá với ma trận sinh sẽ rất kinh tế Cái cần quan tâm ở đây là trường hợp các phép tính nhị phân:

Trang 26

v uG= sys =(u v, p), (1.14) Với v p=uP=(v v k, k+1, ,L v nư1)tương ứng với phần kiểm tra chẵn lẻ của từ mã Tuy nhiên, nếu k >(n-k) hay k/n >1/2 thì mã hoá với ma trận kiểm tra chẵn lẻ H

yêu cầu số lượng tính toán ít hơn Trong trường hợp này ta có mã hoá dựa trên phương trình (1.9), ( , ) T 0

p

u v H = , vì thế có được (n-k) vị trí kiểm tra chẵn lẻ như

sau:

v j =u p0 0,j +u p1 1,j +L+u kư1p kư1,j k j<n (1.15) Biễu diễn bằng ký hiệu theo các số hạng khác, dạng hệ thống của ma trận kiểm tra chẵn lẻ của mã tuyến tính có các phần tử vào các hàng của nó là các hệ số của phương trình kiểm tra chẵn lẻ, từ đó có được giá trị của các vị trí thừa ra

Trang 27

Để mô tả thủ tục giải mã, cần phải biết khái niệm syndrome (Hội chứng được

dùng như triệu chứng của bệnh tật) Syndrome của một từ trong V2 được định nghĩa

Thủ tục xây dựng mảng chuẩn

1 ở hàng đầu tiên, trong vị trí của 2k cột ngoài cùng bên phải, cho vào tất cả từ mã của C, bắt đầu với từ mã toàn không ở vị trí ngoài cùng bên trái ở vị trí

tương ứng với cột thứ nhất, cho vào syndrome toàn không Lấy j = 0

2 Lấy j=j+1 Tìm từ có khối lượng Hamming nhỏ nhất e trong V j 2, chứ không phải trong C và không kể những hàng trước đó Syndrome tương ứng T

j j

s =e H là đầu vào (ngoài cùng bên phải) của hàng 2k đầu vào còn lại có

được bằng cách thêm e vào tất cả phần tử vào ở hàng đầu tiên (các từ mã của C) j

3 Lặp lại các bước như trên đến khi tất cả các véctơ ở V2 đều ở trong mảng

Tương tự lấy j=j+1 Nếu j < 2n-k thì lặp lại các bước trên, nếu không thì dừng lại

Ví dụ 1.4 : Mảng chuẩn của mã (4,2,2) tuyến tính nhị phân như sau:

Bảng 1.1: Mảng chuẩn của một mã khối tuyến tính nhị phân

Trang 28

Giải mã với mảng chuẩn tiếp tục như sau Lấy r = + là thu nhận được Tìm v e

từ trong dãy và đầu ra như bản tin giải mã u là header của cột chứa r Một cách

khái niệm rằng, đây là quá trình yêu cầu lưu trữ các phần tử mảng và làm cho từ nhận được phù hợp với 1 phần tử trong mảng

Tuy nhiên, một thủ tục mã hoá đơn giản có thể được tìm thấy bằng cách lưu ý

rằng mỗi hàng trong mảng có cùng syndrome Mỗi hàng của mảng, ký hiệu Row i ,

với 0 ≤ i < 2n-k là một coset của C, vì thế Row i ={e v v C i+ | ∈ } Véctơ e i (hàng chứa

mẫu lỗi ở cột đầu tiên ) gọi là coset leader

Syndrome của các phần tử trong hàng thứ i được cho bởi:

cuối giá trị của e từ cột thứ hai và cộng nó vào từ thu được để đạt được từ mã i'

Trang 29

Từ mảng chuẩn của mã, tìm thấy coset leader tương ứng e'=(0100)và vì vậy

ước lượng từ mã là v' = + =r e' (0010) (+ 0100) (= 0110) Một lỗi đã được sửa Điều này nghe có vẻ lạ khi khoảng cách tối thiểu của mã chỉ là 2, vì vậy theo (1.5) thì lỗi

đơn là không thể sửa được Tuy nhiên điều này có thể được giải thích bằng cách xem lại ví dụ 1.4 Lưu ý rằng hàng thứ 3 của mảng chứa 2 véctơ nhị phân riêng biệt khối lượng 1, nghĩa là có 3 trong tổng số 4 dạng lỗi đơn có thể được sửa Lỗi ở trên

là 1 trong số những dạng lỗi đơn sửa được

Nếu mã hoá là hệ thống thì thủ tục trên đưa ra ước lượng bản tin u trong k vị trí '

đầu của v Điều này là hợp lý để có được mã hoá hệ thống '

1.4.3 Cầu Hamming, vùng giải mã và mảng chuẩn

Dãy chuẩn cũng là 1 cách thuận tiện hiểu nội dung của cầu Hamming và khả năng sửa lỗi của mã tuyến tính C

Lưu ý rằng 2k cột ngoài cùng bên phải của dãy chuẩn, ký hiệu Colj với 1≤j≤2k, chứa 1 từ mã v j∈ và 1 tập hợp 2C n-k-1 từ tại khoảng cách Hamming nhỏ nhất từ v , j

đó là

j j i i i

Col = v + | ∈e e Row ≤ <i ư (1.19) Tập hợp Colj là vùng giải mã, trong không gian Hamming, xung quanh mỗi từ mã v j ∈ , với 0≤j≤2 C k-1 Điều này nghĩa là nếu từ mã v j∈ được truyền trên 1 C

kênh BSC và từ nhận r nằm trong tập hợp Colj thì nó sẽ được giải mã, thành công, thành v j

Giới hạn Hamming

Tập hợp các Colj và khả năng sửa lỗi t của mã C quan hệ với nhau bởi cầu

Hamming S v Một mã (n, k, d t( )j min) tuyến tính nhị phân có vùng giải mã Colj mà chứa đúng cầu HammingS v có nghĩa là t( )j S v t( )jCol j

Chú ý rằng kích thước của Colj là 2n-k và sử dụng phương trình(1.3) ta có được giới hạn Hamming

Trang 30

n i

Khi lựa chọn một sơ đồ mã hoá riêng, điều quan trọng là tìm ra đặc tính lỗi của

nó Có một vài tiêu chuẩn để đánh giá đặc tính lỗi của 1 sơ đồ ECC Trong phần này

sẽ giới thiệu các biểu thức của mã tuyến tính cho 3 mô hình kênh cơ bản: Mô hình kênh nhị phân đối xứng (BSC), mô hình kênh tạp âm trắng Gauss cộng(AWGN) và mô hình kênh pha-đinh Reyleigh thẳng

1.5.1 Sắp xếp khối lượng và xác suất lỗi không thể phát hiện trên một kênh BSC

Sắp xếp khối lượng W(C) của 1 mã sửa lỗi C được định nghĩa là tập hợp của

(n+1) số nguyên W(C)={Ai , 0≤ i ≤ n} vì thế có A i từ mã khối lượng Hamming i trong C, với i=0, 1, , n

Biểu thức xác suất lỗi không thể phát hiện của mã tuyến tính trên BSC sẽ được

bắt nguồn từ sau đây Đầu tiên lưu ý rằng khối lượng Hamming của 1 từ mã v ,

( )

H

Khoảng cách Hamming giữa 2 từ mã bất kỳ trong 1 mã tuyến tính C bằng khối lượng Hamming của sự khác nhau của chúng

d H(v1+v2)=d H(v1+v2, 0)=wt v H( 1+v2)=wt v H( )3

với v3∈C

Xác suất lỗi không thể phát hiện được ký hiệu Pu(C), là xác suất mà từ nhận

được khác với từ mã truyền đi nhưng syndrome bằng 0 Đó là:

s =(v e H+ ) T =eH T = ⇔ ∈ 0 e C

Trang 31

Vì vậy, xác suất mà syndrome của từ nhận được là 0 bằng xác suất mà 1 véctơ lỗi là 1 từ mã khác 0 trong C Với sự truyền dẫn trên 1 kênh BSC, xác suất mà véctơ

lỗi e có khối lượng i bằng xác suất mà i bít là lỗi và (n-i) bít còn lại là đúng Lấy

1.5.2 Giới hạn thực hiện trên BSC, AWGN và các kênh pha-đinh

Mục đích của phần này là giới thiệu những mô hình kênh cơ bản được xét trong luận văn này, những biểu thức tương ứng với đặc tính sửa lỗi của mã tuyến tính Đầu tiên xét sửa lỗi cho BSC

*Mô hình kênh BSC

Đối với mã tuyến tính nhị phân C, một thủ tục giải mã sử dụng mảng chuẩn sẽ giải mã véctơ thu được thành từ mã gần nhất Một lỗi giải mã được tạo ra bất cứ khi nào véctơ nhận nằm ngoài vùng giải mã đúng

Lấy Li ký hiệu cho số coset leader khối lượng i trong mảng chuẩn của mã tuyến

Trang 32

tính C Xác suất của giải mã đúng bằng xác suất là một coset leader và được cho bởi:

Với i là khối lượng Hamming lớn nhất của 1 coset leader trong mảng chuẩn

Với những mã hoàn hảo: l=t và

n L

Đối với mã nhị phân nói chung, phương trình (1.23) trở thành giới hạn dưới cho

PC(C), từ đó các coset leader hiện có khối lượng lớn hơn t

Xác suất giải mã sai, ký hiệu Pe(C), cũng là xác suất của 1 lỗi giảI mã, bằng xác suất của tập hợp bổ sung của trường hợp giải mã đúng, nghĩa là Pe(C)=1- PC(C) Từ phương trình (1.23)

Trang 33

giá trị về ước lượng đặc tính lỗi của sơ đồ mã hoá nhị phân trên kênh AWGN

Xét một hệ thống truyền dẫn nhị phân, với bít mã hoá trong tập hợp {0,1} được

và độc lâp có tính thống kê với mỗi mẫu là 1 phân bố Gauss với giá trị trung bình àn

= 0 và phương sai σn = No/2 và No là mật độ phổ công suất 1 chiều Giải mã nhiều

khả năng đúng nhất (MLD) của mã tuyến tính C trên kênh này đã chọn 1 dãy ˆx mà giảm đến tối thiểu khẳng cách Euclide bình phương giữa dãy nhận y và ˆx :

Xác suất của 1 lỗi giải mã với MLD , ký hiệu Pe(C) thì bằng xác suất mà 1 dãy

với dãy mã khác ˆx∈C, ˆxx Với mã tuyến tính C, giả sử rằng tất cả từ mã 0 sẽ

được truyền đi Vì thế Pe(C) có thể được giới hạn trên dựa vào sắp xếp khối lượng W(C) như sau:

Bộ mã hoá

nhị phân

Đích thông tin

Bộ giải mã

quyết định- -cứng

Phép ánh xạ 0→ +1 1→ -1

+

n y u%

Hình 1.10: Hệ thống truyền dẫn nhị phân trên kênh AWGN

Trang 34

với R=k/n là tỷ lệ mã hoá, Eb/No tỷ số tín hiệu trên nhiễu

* Mô hình kênh pha-đinh Rayleigh thẳng

Một mô hình kênh quan trọng khác là pha-đinh Rayleigh thẳng Pha-đinh xuất hiện trong các hệ thống không dây dưới hình thức biến dạng (méo) theo thời gian của tín hiệu truyền đi Ta xét trường hợp của pha-đinh Rayleigh thẳng, thuật ngữ

“thẳng” đề cập đến thực tế rằng kênh không phải chọn lọc tần số vì vậy hàm chuyển

đổi trong miền tần số sẽ là hằng số

Kết quả là méo sẽ tăng gấp nhiều lần trong kênh như mô hình được mô tả ở Hình 1.11, với α là 1 véctơ có n thành phần nhiễu phân bố đồng nhất và độc lập,

biến số ngẫu nhiên αi , 0≤ i ≤ n, mỗi biến số có 1 hàm mật độ xác suất Rayleigh

Những xác suất lỗi không có điều kiện có thể tính bằng tích phân của αi với pdf cho bởi phương trình (1.27)

Bộ mã hoá

nhị phân

Đích thông tin

Bộ giải mã

quyết định- -cứng

Phép ánh xạ 0→ +1 1→ -1

+

n y u%

ì α

Hình 1.11: Hệ thống truyền dẫn mã hoá nhị phân trên 1 kênh pha đinh

Rayleigh thẳng

Trang 35

biên độ pha-đinh αi Xét một hệ thống truyền dẫn mã hoá nhị phân mà không có thông tin trạng thái kênh CSI, ta có:

0 min

12

n

b e

Với ∆ω(l): tổng bình phương của biến số nhiễu ngẫu nhiên phân bố đồng nhất và

độc lập với phân phối Rayleigh cho bởi (1.29), được tao ra trong kết quả thứ l của

một chương trình máy tính và N là số đủ lớn phụ thuộc vào dải giá trị của Pe(C), tốt nhất là N lớn hơn nghịch đảo của Pe(C) ít nhất 100 lần

1.6 Cấu trúc tổng quát của bộ giải m∙ quyết định cứng của m∙ tuyến tính

Trong phần này sẽ giới thiệu tóm tắt cấu trúc tổng quát của 1 bộ giải mã quyết

định cứng cho mã tuyến tính Hình 1.12 đưa ra một sơ đồ khối đơn giản của quá trình giải mã Lưu ý rằng khi giả định quyết định cứng, những bít đầu vào của bộ giải điều chế sẽ được đưa vào 1 bộ giải mã thiết kế cho 1 BSC

Lấy v : ký hiệu cho từ mã phát Bộ giải mã có tại đầu vào của nó một véctơ thu

nhiễu: r = + Thủ tục giải mã 2 bước của 1 mã tuyến tính là: v e

Trang 36

• Tính syndrome s rH= T Dựa trên các thuộc tính mã, syndrome là sự biến đổi tuyến tính của véctơ lỗi đ−ợc giới thiệu trong kênh

Trang 37

CHƯƠNG 2

M∙ HAMMNG, GOLAY Và REED-MULLER

Trong chương này, sẽ giới thiệu nhiều ví dụ quan trọng về mã nhị phân tuyến tính Chúng sẽ giúp hiểu thêm về nội dung của ECC với những thuật toán giải mã thông minh Mã Hamming được biết nhiều trong các loại mã khối, trừ mã Reed-Solomon ra, là mã tối ưu theo hướng yêu cầu số phần dư ít nhất, đối với 1 chiều dài khối cho trước, để sử bất kỳ lỗi đơn nào Mã Golay nhị phân chỉ là một ví dụ quan trọng khác của 1 mã sửa lỗi-3 tối ưu(chỉ có mã tối ưu nhị phân khác là mã kiểm tra parity đơn (SPC) và mã lặp) Mã Reed-Muler được định nghĩa là mã với sự xác định

tổ hợp elagant mà chúng dễ dàng để giải mã

2.1 M∙ Hamming

Từ chương 1, phương trình (1.9) bất kỳ từ mã nào trong mã (n, k, d min) khối tuyến tính C đều thoả mãn:

Một sự giải thích có nghĩa của phương trình này là: số cột độc lập tuyến tính tối

đa của ma trận kiểm tra parity H của C bằng(d min-1)

Trong trường hợp nhị phân, với d min=3, phương trình trên chuyển thành tổng của

2 cột bất kỳ của H mà không bằng véctơ 0 Giả sử các cột của H là véctơ nhị phân

của chiều dài m Có (2m-1) cột riêng biệt khác 0 trở lên Vì thế, chiều dài của mã sửa lỗi-đơn nhị phân cho bởi:

Bất đẳng thức này đúng với giới hạn Hamming (1.20) của mã sửa lỗi chiều dài

n, với n-k=m và t=1 Do vậy, một mã đạt được giới hạn này được biết tới như một

mã Hamming

Ví dụ 2.1: Với m=3, ta có mã Hamming (7,4,3) với ma trận kiểm tra chẵn lẻ:

Trang 38

Mã Hamming có tính chất là ma trận kiểm tra parity H của nó có các cột là khác

nhau Nếu 1 lỗi đơn xuât hiện, ở vị trí j, 1≤ j ≤ n, thì syndrome của véctơ thu được sẽ bằng cột của H ở vị trí mà lỗi xuất hiện Lấy e ký hiệu cho véctơ lỗi cộng vào trong

truyền dẫn 1 từ mã trên kênh BSC và giả sử rằng toàn bộ các thành phần của nó (của

2.1.1 Thủ tục mã hoá và giải mã

Từ phương trình (2.2) chỉ ra rằng nếu có thể biễu diễn các cột của H như là sự biểu diễn nhị phân của các số nguyên thì giá trị của syndrome sẽ chỉ ra trực tiếp vị trí của lỗi Đây là ý tưởng của thuật toán mã hoá và giải mã dưới đây:

Các cột của ma trận kiểm tra chẵn lẻ H biễu diễn dưới dạng nhị phân của các số

nguyên i trong dải [1,n] và theo thứ tự tăng dần Ký hiệu ma trận kết quả là H’, rõ ràng mã kết hợp với H’ là tương đương với mã Hamming gốc với ma trận kiểm tra

chẵn lẻ H có khả năng hoán vị các vị trí

Từ chương 1, ma trận kiểm tra chẵn lẻ ở dạng hệ thống chứa ma trận đồng nhất

(n-k)ì(n-k) In-k, như trong phương trình (1.13) Rõ ràng khi biễu diễn H’ với các cột bằng biểu diễn nhị phân của số cột (số nguyên), ma trận đồng nhất sẽ gồm những cột của H’ mà tương ứng với luỹ thừa chẵn của 2, dạng 2 l , 0 ≤ l ≤ m Điều này sẽ

được mô tả trong ví dụ sau:

Ví dụ 2.2: Lấy m=3 thì ma trận kiểm tra chẵn lẻ của hệ thống là:

Trang 39

Ma trận H’ cho bởi biễu diễn nhị phân của các số nguyên từ 1 đến 7( sau đây, phần cao nhất sẽ ứng với bít có nghĩa nhỏ nhất trong biễu diễn nhị phân của 1 số nguyên

232

Điều này chỉ ra rằng có thể tồn tại 1 mã nhị phân hoàn hảo (23,12,7) với t=3 có

khả năng sửa các dạng có thể của hầu hết lỗi-3 trong 23 bít, Golay đã đ−a ra một ma

Trang 40

trận sinh của 1 mã nhị phân sửa lỗi-3 như vậy

Do mối quan hệ giữa chiều dài nhỏ (23), số chiều (12)và số bít dư (11)của nó, mã Golay nhị phân (23,12,7) có thể được mã hoá và giải mã một cách đơn giản bằng cách sử dụng bảng tìm kiếm

2.2.1 Mã hoá

Mã hoá dựa trên bảng tìm kiếm(LUT) chứa danh sách của 212= 4096 từ mã mà

được biểu thị trực tiếp bằng dữ liệu Lấy u là ký hiệu cho 1 véctơ nhị phân 12 bít tượng trưng cho dữ liệu cần mã hoá, và vký hiệu cho 23 bít từ mã tương ứng

Bộ mã hoá LUT được dựng lên bởi việc tạo ra tất cả 4096 véctơ 12 bít và tính

syndrome của 1 dạng có 12 MSB (12 bít có nghĩa lớn nhất) là bít thông tin và 11

LSB (bít có nghĩa nhỏ nhất) là bằng 0 Syndrome 11 bít sau đó trở thành phần LSB

của từ mã Bảng LUT là phép ánh xạ một-một từ u thành v , được biểu diễn như

sau:

v LUT u= ( )=(u get syndrome u v, _ ( ), ) (2.3) Trong cấu trúc của mã hoá LUT, có ưu điểm là nó được lấy từ tính tuần hoàn của mã Golay Đa thức sinh của nó là

Thủ tục xây dựng bộ giải mã LUT như sau:

1 Tạo ra dạng lỗi e có thể của khối lượng Hamming ≤ 3

2 Đối với mỗi dạng lỗi, tính syndrome tương ứng s =get syndrome e_ ( )

Ngày đăng: 22/07/2017, 23:21

TÀI LIỆU CÙNG NGƯỜI DÙNG

TÀI LIỆU LIÊN QUAN

w