Khi thông tin được chuyển đổi thành một dòng bit gồm 1 và 0, bước tiếp theo là chuyển đổi các dòng bit đó thành tín hiệu điện. Kiểu biểu diễn tín hiệu điện đã được lựa chọn cẩn thận vì những lý do sau đây:
Kiểu biểu diễn tín hiệu điện quyết định yêu cầu về băng thông.
Kiểu biểu diễn tín hiệu điện giúp xác định thời điểm bắt đầu và kết thúc của mỗi bit.
Cơ chế phát hiện lỗi có thể được xây dựng thành các kiểu biểu diễn tín hiệu điện.
Cơ chế chống nhiễu có thể được tốt hơn bởi kiểu biểu diễn tín hiệu tốt.
Có thể giảm sự phức tạp của bộ giải mã.
Các dòng bit được mã hoá thành tín hiệu điện tương đương bằng cách sử dụng các chương trình mã hóa số. Chương trình mã hóa sẽ được chọn để quản lí băng thông, định giờ, khả năng phát hiện lỗi, chống nhiễu, và độ phức tạp của bộ giải mã
Các phương pháp mã hóa thông dụng bao gồm
Mã lưỡng cực
Mã hóa NRZ
Mã Miller
Mã nhị phân đa mức
28 trang |
Chia sẻ: lvbuiluyen | Lượt xem: 7223 | Lượt tải: 1
Bạn đang xem trước 20 trang tài liệu Kỹ Thuật Truyền Số liệu - Xử Lý Số Liệu Truyền, để xem tài liệu hoàn chỉnh bạn click vào nút DOWNLOAD ở trên
TRƯỜNG ĐẠI HỌC KHOA HỌC HUẾ
KHOA CÔNG NGHỆ THÔNG TIN
&
Kỹ Thuật Truyền Số liệu
Đề tài:
Xử Lý Số Liệu Truyền
Giáo viên hướng dẫn: Võ Thanh Tú
Nhóm thực hiện: Nguyễn Đắc Thịnh
Nguyễn Cảnh Liêm
Nguyễn Hữu Thanh Tùng
Lưu Đình Lộc
Phan Văn Hữu
Lê Anh Khoa
Mục lục:
I.Mã hóa số liệu mức vật lý
1. Những yêu cầu để mã hóa số
2. Mã hóa NRZ
3. Mã lưỡng cực
II. Phát hiện lỗi và sửa sai
1. Tổng quan:
2. Các khái niệm về lỗi:
3. Các kiểu lỗi:
4. Phát hiện sai trong truyền số liệu:
Các phương pháp kiểm tra
1. Phương pháp kiểm tra bit chẵn lẻ (Parity bit):
2. Kiểm tra tổng khối BSC ( Block Sum Check ):
3. Kiểm tra CRC ( cyclic redundancy check )
III. Nén dữ liệu
1.Giới thiệu chung
1.1). Nguyên tắc của nén dữ liệu
1.2). Tầm quan trọng của nén dữ liệu trong truyền tin nối tiếp
2. Một số phương pháp nén dữ liệu
2.1). Phương pháp mã hoá độ dài loạt (Run-Length Encoding)
2.2). Phương pháp nén LZW
3.Nén theo mã hóa Huffman
IV. MẬT MÃ HÓA SỐ LIỆU
1.Khái quát:
2. Mật mã hóa cổ điển:
V.Demo
1.Lập trình chat 2 máy server/client bằng java
2.Kiến trúc
3.Giao diện
I.Mã hóa số liệu mức vật lý
Trong một hệ thống truyền thông kỹ thuật số, bước đầu tiên là chuyển đổi các thông tin thành các luồng bit 1 và 0. Sau đó, các dòng bit đã được biểu diễn thành một tín hiệu điện. Trong chương này, chúng ta sẽ nghiên cứu các cách biểu diễn của dòng bit thành tín hiệu điện.
1. Những yêu cầu để mã hóa số
Khi thông tin được chuyển đổi thành một dòng bit gồm 1 và 0, bước tiếp theo là chuyển đổi các dòng bit đó thành tín hiệu điện. Kiểu biểu diễn tín hiệu điện đã được lựa chọn cẩn thận vì những lý do sau đây:
Kiểu biểu diễn tín hiệu điện quyết định yêu cầu về băng thông.
Kiểu biểu diễn tín hiệu điện giúp xác định thời điểm bắt đầu và kết thúc của mỗi bit.
Cơ chế phát hiện lỗi có thể được xây dựng thành các kiểu biểu diễn tín hiệu điện.
Cơ chế chống nhiễu có thể được tốt hơn bởi kiểu biểu diễn tín hiệu tốt.
Có thể giảm sự phức tạp của bộ giải mã.
Các dòng bit được mã hoá thành tín hiệu điện tương đương bằng cách sử dụng các chương trình mã hóa số. Chương trình mã hóa sẽ được chọn để quản lí băng thông, định giờ, khả năng phát hiện lỗi, chống nhiễu, và độ phức tạp của bộ giải mã
Các phương pháp mã hóa thông dụng bao gồm
Mã lưỡng cực
Mã hóa NRZ
Mã Miller
Mã nhị phân đa mức
2. Mã hóa NRZ
Cách phổ biến nhất và cũng là dễ nhất để truyền các tín hiệu số là sử dụng hai mức hiệu điện thế khác nhau cho hai số nhị phân. Các loại mã theo dạng này có cùng tính chất là mức hiệu điện thế sẽ là hằng số trong khoảng thời gian 1 bit. Không có sự chuyển đổi về giá trị mức hiệu điện thế 0 (non return to zero). Ví dụ, khi không có hiệu điện thế có thể biểu diễn cho bit 0 và với mức hằng số dương của hiệu điện thế có thể biểu diễn bit 1. Thông thường, một mức hiệu điện thế âm sẽ biểu diễn cho giá trị của một bit và một mức hiệu điện thế dương sẽ biểu diễn cho bit kia.
Phương pháp mã hóa “không trả về zero”: NRZ-L (Non-return to Zero Level) thường là loại mã được các trạm hoặc các thiết bị khác sử dụng để sinh ra hoặc thông dịch dữ liệu số nhị phân. Các loại mã khác nếu được sử dụng trong truyền thông thì thông thường đều được các hệ thống truyền sinh ra từ mã NRZ-L ban đầu.
Ở NRZ – L, nhị phân 1 được biểu diễn bởi điện áp dương và 0 bằng điện áp âm. Phương pháp này, tuy đơn giản nhưng lại có vấn đề xảy ra: nếu có lỗi trong quá trình đồng bộ hoá, sẽ khó cho máy thu để đồng bộ, và nhiều bit bị mất.
Sự đồng bộ hoá là vấn đề trong phương pháp mã hoá này.
Ví dụ: 01001010011
Phương pháp mã hóa “không trả về zero” nghịch đảo: NRZ-I (Nonreturn to Zero Inverted)
Trong NRZ-I, bit 0 được biểu diễn bằng 0 volt và bit 1 biểu diễn bằng 0 volt hoặc V volt, dựa theo điện áp trước đó. Nếu điện áp trước đó là 0 volt, thì bit 1 là V vôn. Nếu điện áp trước đó là V volt, , thì bit 1 sẽ là 0 volt.
Ví dụ: 01001010011
Mã NRZ là một loại mã dễ thực hiện trong thực tế và thêm vào đó nó đem lại khả năng sử dụng băng thông một cách hiệu quả.
Nhược điểm chính của các tín hiệu NRZ là sự có mặt của thành phần một chiều và thiếu khả năng đồng bộ.
Bởi vì tính đơn giản và mối quan hệ với đặc tính tần số thấp, các mã NRZ thường được sử dụng trong công nghệ ghi số băng từ. Tuy nhiên, các nhược điểm của các loại mã này thường không thích hợp với các việc các ứng dụng sử dụng chúng trong vấn đề truyền tín hiệu.
3. Mã lưỡng cực
Phương pháp này thực hiện việc chuyển đổi “0” của tín hiệu nhị phân sang xung của mức “0” và “1” của tín hiệu nhị phân thành xung của 2 mức +A và –A. Đặc tính của loại mã này là không tồn tại thành phần một chiều và sử dụng luân phiên +A, -A, để có thể phát hiện lỗi. Nhược điểm của loại mã này là không có chức năng khử các mã 0 liên tục, đầu thu có nhiều khó khăn trong việc tách riêng tín hiệu thời gian. Để giải quyết vấn đề này, một vài loại mã không có độ dài nhất định được chuyển sang các mẫu đặc biệt dùng một mã lưỡng cực mật độ cao (như BNZS, HDBN).
Lưỡng cực AMI : (BIPOLAR ALTERNATE MARK INVERSION)
Theo lược đồ mã hóa Bipolar AMI, bit 0 đại diện tín hiện bằng 0, bit 1 đại diện cho mức điện áp dương hoặc âm. Bit 1 phải luân phiên ở hai cực dương âm. Sự thuận lợi của mã hóa này nếu có một chuỗi bit 1 phát sinh thì vẫn không mất đi sự đồng bộ. Nếu sự đồng bộ bị mất thì cũng dễ dàng đồng bộ lại theo quá trình thay đổi điện áp.
Ví dụ: 0100101001100001
Lưỡng cực mật độ cao: HIGH-DENSITY BIPOLAR 3 (HDB3)
Phần lớn mã hóa HDB3 đều giống với AMI, ngoại trừ sự thay đổi nhỏ: hai xung, được gọi là xung V và xung B, được sử dụng khi có 4 số 0 liên tiếp trong chuỗi bit mã hóa. Khi có 4 bit 0 phát sinh, xung nhiệp sẽ là 000V, bit V chính là bit phía trước 4 các bit 0. Tuy nhiên thì xung V lại tạo ra thành phần xoay chiều. Để giải quyết vấn đề này, bit B được đề xuất. Nếu có 4 bit 0 liên tiếp thì mã hóa sẽ là B00V .
Ví dụ: 0100101001100001
II. Phát hiện lỗi và sửa sai
Mạng cần có khả năng truyền dữ liệu một cách chính xác. Một hệ thống không bảo đảm dược tính năng này thì không sử dụng được. Trong quá trình truyền thì dữ liệu luôn bị tác động bởi nhiều yếu tố như nhiễu, vì vậy hệ thống cần có độ tin cậy tốt với cơ chế phát hiện và sửa lỗi.
Việc phát hiện và sửa lỗi được thiết lập ở lớp kết nối dữ liệu hoặc lớp vận chuyển trong mô hình OSI.
1. Tổng quan:
Khi dữ liệu được truyền đi giữa 2 DTE (Data Terminal Equipment - thiết bị cuối xử lý số liệu)-đây là thiết bị lưu trữ và xử lý thông tin. Trong hệ thống truyền số liệu hiện đại thì DTE thường là máy tính hoặc máy fax hoặc là trạm cuối (terminal). Như vậy tất cả các ứng dụng của người sử dụng (chương trình, dữ liệu) đều nằm trong DTE. Chức năng của DTE thường lưu trữ các phần mềm ứng dụng, đóng gói dữ liệu rồi gửi ra DCE(thiết bị cuối kênh dữ liệu- Data circuit terminal equiment) hoặc nhận gói dữ liệu từ DCE theo một giao thức xác định DTE trao đổi với DCE thông qua một chuẩn giao tiếp nào đó. Như vậy mạng truyền số liệu chính là để nối các DTE lại cho phép chúng ta phân chia tài nguyên, trao đổi dữ liệu và lưu trữ thông tin dùng chung đặc biệt nếu các đường dây truyền dẫn ở trong môi truyền xuyên nhiễu như mạng điện thoại công cộng, thì những tín hiệu điện đại diện luồng bit rất dễ bị thay đổi do ảnh hưởng của các thiết bị điện gần đó. Điều đó có nghĩa là, tín hiệu đại diện cho bit 1 bị máy thu dịch ra như bit nhị phân 0 và ngươc lại.
Có hai phương pháp cho vấn đề này, đó là :
- Kiểm soát lỗi hướng tới (FEC-Forward Error Control): Trong mỗi ký tự hay mỗi frame dữ liệu được truyền đi có chứa thông tin bổ sung cần thiết để bên thu phát hiện lỗi và có thể dò tìm vị trí của các bit lỗi . Sau đó chỉ cần đảo ngược các bit lỗi để nhận được dữ liệu đúng.
- Kiểm soát lỗi quay lui (Backward Error Control) : Trong mỗi ký tự hay mỗi frame dữ liệu được truyền đi chỉ chứa thông tin cần thiết để bên thu chỉ có thể phát hiện ra lỗi. Một bộ điều khiển sẽ yêu cầu bên phát phát lại bản dữ liệu đúng.
Trong thực tế, số lượng bit thêm vào để đạt được độ tin cậy cần thiết trong điều khiển hướng tới sẽ gia tăng nhanh chóng khi số lượng bit thông tin tăng lên. Do đó, phương pháp điều khiển lỗi quay lui được sử dụng nhiều hơn trong các dạng truyền số liệu và các hệ thống mạng .
2. Các khái niệm về lỗi:
Về bản chất, lỗi truyền số liệu là lỗi bit. Nếu tín hiệu mang dữ liệu nhị phân được mã hóa, những thay đổi như thế có thể làm thay đổi ý nghĩa của dữ liệu.
Nguyên nhân gây ra lỗi:
- Các quá trình vật lý sinh ra: đó là các lỗi xẩy ra trong quá trình truyền số liệu trên
đường truyền vật lý. Bất cứ khi nào một tín hiệu điện từ di chuyển từ một điểm này tới điểm khác, nó dễ bị nhiễu không đoán trước từ sức nóng, từ tính và các dạng của của điện. Sự nhiễu này có thể làm thay đổi hình dạng và thời gian của tín hiệu.
- Các thiết bị truyền thông gây ra: là các lỗi xẩy ra do chính các thiết bị tham gia truyền số liệu gây ra.
Để xác định xác suất lỗi bit sử dụng pb
Xác định tỉ suất lỗi bit – BER (Bit Error Rate)
BER £ 10-9 - đường truyền được xem là tốt
BER £ 10-4 - đường truyền chấp nhận được
Ngoài ra còn một số đơn vị đo khác, ít được sử dụng hơn:
FER (Frame Error Rate)
PER (Packet Error Rate)
Để xác định xác suất lỗi gói số liệu sử dụng công thức:
pf = 1 – (1-pb)N với N - độ dài gói số liệu, đo bằng bit
pf ≈ N.pb, nếu N.pb << 1
Thí dụ minh hoạ: Cho N = 1000 bit, pb = 10-6
pf = 1 – (1-pb)N = 1 – (1-10-6)1000 = 0.00095
Hay pf ≈ N.pb, ≈ 1000 .10-6 ≈ 0.001.
3. Các kiểu lỗi:
Về bản chất, lỗi có thể được chia thành 2 loại đó là lỗi đơn và lỗi chùm. Trong một lỗi đơn bit, một bit 0 được thay đổi thành 1 hoặc 1 thành 0. Trong một lỗi bit chùm bit, nhiều bit bị thay đổi. Ví dụ một nhiễu xung hàng hoạt kéo dài 0.01 giây trên đường truyền cùng với một tốc độ dữ liệu 1200 bps có thể thay đổi tất cả hoặc một vài bit trong 12 bit thông tin.
a. Lỗi bit đơn - single bit error
Thuật ngữ lỗi bit đơn có nghĩa là các lỗi bit riêng lẻ, phân bố ngẫu nhiên trong gói số liệu.
Để hiểu tầm ảnh hướng của thay đổi đó, hình dung rằng mỗi nhóm 8 bit là một ký tự ASCII với một bit 0 được bổ sung vào bên trái. Trong hình vẽ, 00000010 (ASCII STX) được gửi đi, có nghĩa là ký tự bắt đầu, nhưng bên nhận lại nhận được 00001010 (ASCII LF- line feed) .
Các lỗi bit đơn là kiểu lỗi ít xảy ra trong truyền dữ liệu nối tiếp. Để hiểu lí do tại sao, ta hãy hình dung người gửi thực hiện gửi dữ liệu với tốc độ 1 Mbps. Điều đó có nghĩa là một bit chỉ kéo dài trong khoảng 1/1.000.000 giây hay 1 micro giây. Để lỗi bit đơn xảy ra, nhiễu phải nằm trong khoảng 1 micro giây, điều đó ít khi xảy ra; nhiễu thường kéo dài hơn nhiều so với khoảng đó.
Tuy nhiên, lỗi bit đơn có thể xảy ra nếu gửi dữ liệu sử dụng truyền dữ liệu song song. Ví dụ, nếu có 8 đường song song được sử dụng để gửi tất cả 8 bit của một byte ở cùng một thời điểm, một trong những đường đó bị nhiễu, một bit có thể bị thay đổi trong mỗi byte.Ví dụ như thực hiện truyền dẫn song song trong một máy tính giữa CPU và bộ nhớ.
b. Lỗi bit chùm - Burst Error
Thuật ngữ lỗi bit chùm nghĩa là có 2 hay nhiều bit trong đơn vị dữ liệu có thay đổi bit 1 thành bit 0 và từ 0 thành 1.
Trong trường hợp này, 0100010001000011 được gửi, nhưng bên nhận thì nhận được 0101110101000011. Chú ý là lỗi bit hàng loạt không phải luôn luôn có nghĩa là xảy ra ở các bit liên tiếp nhau. Chiều dài của một loạt đƣợc định lƣợng từ bit bịt lỗi đầu tiên tới bit bị lỗi cuối cùng. Một số bit nằm giữa có thể không bị ảnh hưởng.
Các khái niệm liên quan:
- Gap (kẽ hở): Là vùng nằm giữa 2 vùng lỗi.
- Burst (Bùng nổ): Là vùng trong đó BER cục bộ vượt quá một giá trị ngưỡng nhất định. Burst bắt đầu và kết thúc bằng các lỗi.
- Burst interval (khoảng lỗi chùm): vùng giữa 2 vùng lỗi chùm liên tiếp.
- Cluster: vùng không có bất kì một bit đúng nào xen giữa.
- Ký hiệu: 1 là 1 bit bị lỗi, 0 là 1 bit đúng (không bị lỗi), 0x là một dãy liên tiếp x bit đúng
Lỗi ở một số môi trường có khuynh hướng bùng nổ.
- Mặt dễ giải quyết: số liệu máy tính luôn được gửi thành các khối bit. Giả sử rằng kích thước khối là 1000 bit, và tỉ lệ lỗi là 0.001. Nếu các lỗi là độc lập thì hầu hết các khối đều chứa lỗi. Nếu các lỗi xuất hiện một cách bùng nổ trong 100 khối, thì tính trung bình chỉ có một hoặc hai khối trong 100 khối bị ảnh hƣởng. Khi đó việc giải quyết các khối bit bị lỗi sẽ trở nên đơn giản.
- Mặt khó: khó phát hiện và sửa hơn so với các lỗi cô lập.
4. Phát hiện sai trong truyền số liệu:
Phương pháp để phát hiện sai trong truyền số liệu là dò dùng dư thừa. Một cơ chế dò tìm lỗi phải thoả mãn những yêu cầu đặt ra cần phải gửi tất cả dữ liệu 2 lần. Thiết bị nhận sau đó sẽ có thể thực hiện công việc so sánh bit-bit giữa hai phiên bản dữ liệu. Bất kỳ sự khác nhau nào sẽ chỉ báo một lỗi và một cơ chế sửa lỗi phù hợp sẽ được thiết lập tại đó. Hệ thống này sẽ hoàn thành một cách chính xác (các lỗi bít lẻ được đưa ra bằng đúng các bit trong cả hai tập dữ liệu là rất nhỏ), nhưng cách này cũng khá chậm, Không chỉ mất gấp đôi thời gian cho việc truyền dẫn mà còn mất thời gian cho quá trình so sánh từng đơn vị bit-bit.
Khái niệm bao gộp thông tin bổ sung trong truyền dẫn chỉ dành cho mục đích so sánh là một cách tốt. Nhưng thay vì lặp lại toàn bộ dòng dữ liệu, một nhóm nhỏ hơn các bit có thể được ghép thêm vào cuối mỗi đơn vị. Kỹ thuật này được gọi là dư thừa – redundancy bởi vì các bit phụ thêm là dư thừa đối với dữ liệu thông tin; chúng sẽ bị loại bỏ ngay khi độ chính xác của truyền dẫn được xác nhận.
Dò tìm lỗi sử dụng khái niệm về dư thừa có nghĩa là ghép thêm các bit phụ thêm cho việc dò tìm lỗi tại thiết bị nhận.
Một khi dòng dữ liệu được tạo ra, nó truyền qua một thiết bị và thiết bị này thực hiện phân tích dòng dữ liệu, bổ sung một mã kiểm tra dư thừa một cách hợp lý. Đơn vị dữ liệu giờ có chiều dài được mở rộng thêm nhiều bit (trong hình minh họa là 7 bit thêm), đi qua đường kết nối tới bên nhận. Bên nhận chuyển toàn bộ dòng dữ liệu đó qua một bộ phận chức năng kiểm tra. Nếu dòng bit nhận được kiểm tra dựa vào các tiêu chuẩn xác định, phần dữ liệu của đơn vị dữ liệu được chấp nhận và các bit dư thừa được loại bỏ.
Như vậy phương pháp này có thể hiểu:
- Bên gửi bổ sung thêm các thông tin dư thừa vào số liệu cần gửi đi một cách thích hợp (theo quy luật = thuật toán nhất định).
- Bên nhận dựa trên các thông tin dư thừa để xác định xem gói tin nhận được có bị lỗi hay không.
Các phương pháp kiểm tra:
1. Phương pháp kiểm tra bit chẵn lẻ (Parity bit):
Đây là phương pháp thông dụng nhất để dò tìm các bit lỗi trong truyền bất đồng bộ và đồng bộ hướng ký tự.
Với lược đồ này, máy phát sẽ thêm vào mỗi ký tự truyền đi một bit kiểm tra parity (được tính toán trước khi truyền) . Khi tiếp nhận thông tin, máy thu sẽ thực hiện các thao tác tính toán tương tự trên các ký tự thu được, và so sánh kết quả với bit parity thu được. Nếu chúng bằng nhau, thì không có lỗi xảy ra, nếu chúng không bằng nhau thì có lỗi xảy ra.Gồm 3 phương pháp:
+ Phương pháp kiểm tra ngang
+ Phương pháp kiểm tra dọc
+ Kết hợp 2 phương pháp
Nguyên lý:
- Thêm vào mã cần truyền 1 tập bit kiểm tra nào đó để bên dẫn có thể kiểm soát lỗi
- Trước khi truyền dữ liệu đi, người ta thêm vào cuối bit 1 gọi là parity bit.
- Nếu tổng số bit 1 của xâu truyền đi là chẵn thì bit thêm vào là 0
- Nếu tổng số bit 1 của xâu truyền đi là lẻ thì bit thêm vào là 1
Ví dụ: Truyền xâu CDSPHD
C(67) = 1000011
D(68) = 1000100
S(83) = 1010011
P(80) = 1010000
H(72) = 1001000
+ Phương pháp kiểm tra ngang:
(1) C D S P H D
1 1 1 1 1 1 0
0 0 0 0 0 0 0
0 0 1 1 0 0 0
0 0 0 0 1 0 1
0 1 0 0 0 1 0
1 0 1 0 0 0 0
(2) C D S P H D Lỗi do mạng truyền thông
1 1 1 1 1 1 0 sinh ra
1
0 0 0 0 0 0 0
0 1 1 0 0 0
0 0 0 0 1 0 1
0 1 0 0 0 1 0
1 0 1 0 0 0 0
(3) C D S P H D
1 1 1 1 1 1 0
1 1
0 0 0 0 0 0 0
1 1 0 0 0
0 0 0 0 1 0 1
0 1 0 0 0 1 0
1 0 1 0 0 0 0
=> Phương pháp này chỉ kiểm tra được số bit trên cùng 1 hàng bị lỗi là lẻ, nếu số bit trên cùng 1 hàng bị lỗi là chẵn thì không kiểm tra được
+ Phương pháp kiểm tra dọc:
(1) C D S P H D
1 1 1 1 1 1
0 0 0 0 0 0
0 0 1 1 0 0
0 0 0 0 1 0
0 1 0 0 0 1
1 0 1 0 0 0
1 0 1 0 0 0
1 0 0 0 0 0
(2) C D S P H D Lỗi do mạng truyền thông
1
1 1 1 1 1 1 sinh ra
0 0 0 0 0
0 0 1 1 0 0
0 0 0 0 1 0
0 1 0 0 0 1
1 0 1 0 0 0
1 0 1 0 0 0
0 0 0 0 0 0
(3) C D S P H D
1
1
1 1 1 1 1 1
0 0 0 0 0
0 1 1 0 0
0 0 0 0 1 0
0 1 0 0 0 1
1 0 1 0 0 0
1 0 1 0 0 0
1 0 0 0 0 0
+ Kết hợp 2 phương pháp:
(1) C D S P H D
1 1 1 1 1 1 0
0 0 0 0 0 0 0
0 0 1 1 0 0 0
0 0 0 0 1 0 1
0 1 0 0 0 1 0
1 0 1 0 0 0 0
1 0 0 0 0 0 1
(2) C D S P H D
1
1
1 1 1 1 1 1 0
0 0 0 0 0 1
0 1 1 0 0 1
0 0 0 0 1 0 1
0 1 0 0 0 1 0
1 0 1 0 0 0 0
1 0 0 0 0 0 1
(3) C D S P H D
1 1 1 1 1 1 0
1 1
0 0 0 0 0 0 0
1 1 0 0 0
0 0 0 0 1 0 1
0 1 0 0 0 1 0
1 0 1 0 0 0 0
0 1 0 0 0 0 1
(4) C D S P H D
1 1 1 1 1 1 0
1 1
1 1
0 0 0 0 0 0 0
1 1 0 0 0
0 0 1 0 1 0
0 1 0 0 0 1 0
1 0 1 0 0 0 0
1 0 0 0 0 0 1
=> Phát hiện các lỗi đơn và lỗi ghép, không phát hiện tất cả các lỗi đặc biệt lỗi tạo ra hình chữ nhật như trường hợp (4)
2. Kiểm tra tổng khối BSC ( Block Sum Check ):
Block Sum Check (BSC): kết hợp parity hàng và cột
• Phát hiện được lỗi sai một số lẻ bit.
• Dò được các lỗi sai một số chẵn bit, ngoại trừ những lỗi xảy ra đồng thời trên cả hàng và cột.
• Chỉ sửa được sai một bit đơn.
- Khi các khối ký tự đang được truyền, xác suất một ký tự chứa lỗi bit gia tăng.
- Xác suất một khối ký tự bị lỗi bit được gọi là tỉ lệ lỗi bit BER.
- Phương pháp này sử dụng một tập parity bit được tính từ toàn bộ khối ký tự trong khung.
- Mỗi ký tự trong khung được phân phối một parity bit ( parity hàng ). Ngoài ra một bit mở rộng được tính cho mỗi vị trí bit ( parity cột ) trong toàn bộ khung. Tập các parity bit cho mỗi cột được gọi là ký tự kiểm tra khối BCC ( Block Check Character )
Ví dụ:
Data
Start
Data
Parity(even)
stop
B1
B2
B3
B4
B5
B6
B7
H
1
0
0
0
0
0
0
1
1
0
E
1
1
0
0
0
0
0
1
0
0
L
1
0
1
0
0
0
0
1
0
0
L
1
0
1
0
0
0
0
1
0
0
O
1
1
1
0
0
0
0
1
1
0
BCC(odd)
1
1
0
1
1
1
1
0
1
0
3. Kiểm tra CRC ( cyclic redundancy check )
CRC (cyclic redundancy check) là một loại hàm băm, được dùng để sinh ra giá trị kiểm thử, của một chuỗi bit có chiều dài ngắn và cố định, của các gói tin vận chuyển qua mạng hay một khối nhỏ của tệp dữ liệu. Giá trị kiểm thử được dùng để dò lỗi khi dữ liệu được truyền hay lưu vào thiết bị lưu trữ. Giá trị của CRC sẽ được tính toán và đính kèm vào dữ liệu trước khi dữ liệu được truyền đi hay lưu trữ. Khi dữ liệu được sử dụng, nó sẽ được kiểm thử bằng cách sinh ra mã CRC và so khớp với mã CRC trong dữ liệu.
CRC là một loại mã phát hiện lỗi. Cách tính toán của nó giống như phép toán chia số dài trong đó thương số được loại bỏ và số dư là kết quả, điểm khác biệt ở đây là sử dụng cách tính không nhớ (carry-less arithmetic) của một trường hữu hạn. Độ dài của số dư luôn nhỏ hơn hoặc bằng độ dài của số chia, do đó số chia sẽ quyết định độ dài có thể của kết quả trả về. Định nghĩa đối với từng loại CRC đặc thù quyết định số chia nào được sử dụng, cũng như nhiều ràng buộc khác.
CRC dựa chủ yếu vào phần bit bổ sung, kỹ thuật CRC dựa trên phép chia nhị phân. Trong CRC, thay vì thêm các bit để cùng đạt được một tính chẵn lẻ theo mong đợi, một chuỗi các bit dư thừa được gọi là CRC hay số dư CRC, được ghép vào cuối đơn vị dữ liệu do đó đơn vị dữ liệu kết quả có thể chia hết cho số nhị phân thứ hai được xác định trước. Tại đích của nó, đơn vị dữ liệu đến được chia bởi cùng số đó. Nếu tại bƣớc này, phép chia có số dư bằng 0, đơn vị dữ liệu đƣợc coi là còn nguyên vẹn và do đó được chấp nhận. Nếu số dư khác không có nghĩa là đơn vị dữ liệu đó đã bị hư hại trong quá trình truyền và do đó bị loại bỏ. Các bit dư thừa được sử dụng bởi CRC lấy được từ phép chia đơn vị dữ liệu theo số chia đã xác định trước; phần dư của phép chia sẽ là CRC. Để có thể phân loại quá trình này, bắt đầu một cách tổng quan và sau đó đi sâu vào chi tiết hơn.
Bước thứ nhất,