1. Trang chủ
  2. » Giáo Dục - Đào Tạo

error detection and correction

32 8 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

Nội dung

Nếu chỉ truyền đúng data cần truyền, lỗi không thể phát hiện.  Cần gửi kèm thêm thông tin với data cần truyền[r]

(1)

Phát sửa lỗi

(Error Detection and Correction)

1

Tài liệu : Forouzan , Data Communication and Networking

(2)

Nội dung

• Khái niệm

• Mã Hamming

(3)

Khái niệm

• Dữ liệu truyền bị lỗi

• Có dạng :

– Lỗi sai bit

– Lỗi sai nhiều bit

(4)

Khái niệm

• Nguyên tắc phát lỗi :

Nếu truyền data cần truyền, lỗi phát

Cần gửi kèm thêm thông tin với data cần truyền

Thông tin gửi kèm giúp phát lỗi

• Xem xét PP : mã khối – Block coding

(5)

Khái niệm

• Ví dụ : kỹ thuật Vertical Redundancy Check (VRC)

Thêm bit vào cuối khối data , theo nguyên tắc : “Tổng số bit số chẵn “

Bit thêm vào gọi Parity Check (bit kiểm tra chẵn lẻ) Ví dụ : kiểm tra chẵn

0110011  01100110

0110001  01100011

Nhận xét : Chỉ phát số lỗi lẻ

// bit thêm vào để tổng số bit chẵn // bit thêm vào để tổng số bit chẵn

(6)

Khái niệm

(7)

Khái niệm

0110011

01100110 00100110

Thêm bit kiểm tra kiểm tra tổng số bit ?

Lỗi

Data word

Code word

7 Ví dụ :

(8)

Khái niệm

• Để phát lỗi :

– Bên nhận có danh sách từ mã (code word)

– Nếu code word nhận khơng thuộc danh sách -> có lỗi

(9)

Khái niệm

• Bảng code word để dò lỗi

– từ mã (code word) có Số bit chẵn

– Các từ mã không trùng lặp nhau, khác bit

(10)

Khoảng cách Hamming

• Khoảng cách Hamming từ độ dài : số bit (ở vị trí ) khác

• Khoảng cách Hamming tối thiểu : khoảng cách nhỏ cặp có tập từ

d(000, 011)

(11)

Khoảng cách Hamming

dmin bảng sau

(12)

Khoảng cách Hamming

• Định lý : Để đảm bảo phát lỗi s bit khoảng cách Hamming cực tiểu cặp từ mã phải dmin = s+1

• Định lý 2: để sửa t lỗi , khoảng cách Hamming cực tiểu từ mã phải

(13)

Mã Hamming

• Dùng để sửa lỗi

• Mã Hamming xem xét có dmin =

=> Theo định lý 2: dùng để sửa lỗi

(14)(15)

Cho bảng mã Hamming C(7,4)

15

Mã Hamming

(16)

r

0

=a

2

+a

1

+a

0

module 2

r

1

=a

3

+a

2

+a

1

module 2

Ký hiệu :

Data word : a3 a2 a1 a0 1010

Code word : a3 a2 a1 a0 r2 r1 r0 1010001

Xác định code word ?

<=> tính r2 r1 r0

(17)

s

0

=b

2

+b

1

+b

0

+q

0

module = % = 1

s

1

=b

3

+b

2

+b

1

+q

1

module = %2 = 1

s

2

=b

0

+b

1

+b

3

+q

2

module =(0+0+1+0)%2=1

Chuỗi bit nhận cần kiểm tra : b3b2b1b0q2q1q0

Cách phát lỗi : 1000001 => 1010001 => 1010

(1) Tính syndrome s2s1s0

(2) s2s1s0 = 000 khơng có lỗi ngược lại : có lỗi 111 => có lỗi

17

Mã Hamming

(18)

Logical decision made by the correction logic analyzer

Cách sửa lỗi :

(1) tìm bit bị lỗi dựa vào bảng dị lỗi sau (2) đảo ngược bit lỗi

(19)

Mã Hamming

• VD1 : Bên nhận nhận code word 0100011 Xác định dataword ?

Giải :

Tính syndrome s2s1s0 = 000

Kết luận : code word nhận không lỗi Data word bit cực trái : 0100

(20)

Mã Hamming

• VD2 : Bên nhận nhận code word 0101011 Xác định data word ?

Giải :

Tính syndrome s2s1s0 = 101

(ghi chi tiết cách tính s2, s1, s0 … ) Kết luận : code word nhận bị lỗi

(21)

Mã phát lỗi

Cyclic Redundancy Check (CRC)

• CRC pp để phát lỗi cách gắn thêm khối bit phía sau khối liệu

• Các bit bổ sung thêm vào gọi bit CRC

• Có số pp cài đặt : modulo 2, đa thức, …

(22)(23)

Mơ hình mã giải mã CRC

• Bên gửi :

– Đầu vào : Dataword bit

– Dùng mã để tính r2r1r0 => thu Codeword bit

• Bên nhận :

– Nhận Codeword bit

– Dùng giải mã để tính Syndrome

Nếu Syndrome ≠ 0 => nhiều bit bị lỗi

Nếu Syndrome = 0 : trường hợp

– Khơng có lỗi => Thu Dataword

– Một số bit bị lỗi , giải mã không phát

(24)

Mơ hình mã giải mã CRC

• Bên gửi : thực mã Dataword k bits (k= 4) => kết thu Codeword n bits (n= 7) => truyền Codeword (1) Thêm vào bên phải Dataword số bit n-k (3 bit)

(2) Một số chia xác định trước d3d2d1d0, có số bit n-k+1 Ví dụ : 1011

(3)Thực phép chia modulo Dataword n bit với số chia d3d2d1d0

(25)

25

Bên gửi

(26)

Mơ hình mã giải mã CRC

• Bên nhận : Đưa Codeword vào giải mã để tính syndrome => Dựa giá trị syndrome để phát có lỗi hay khơng

(1) Thực phép chia modulo Codeword nhận với số chia d3d2d1d0 (vd : 1011)

=> thu : Phần dư phép chia modulo số syndrome

(27)

Trường hợp : Codeword nhận

là codeword đúng

27

Bên nhận

(28)

Trường hợp : Codeword nhận

là codeword sai

(29)

CRC

• Bài tập : Tìm mã CRC với C(7,4) của liệu gửi 1010

(Số chia dùng mã giải mã 1011)

(30)

Tính mã CRC

• 1011 ) 1 0 0

1 1 0

0 0 0 0 0 0

1 0 1

(31)

Test

• 1011 ) 1 0 1

1 1 0

0 0 0 1 0 0

1 1 1

0 0 => codeword không lỗi

(32)

Test

• 1011 ) 1 1

1 1 0 0

0 0 0 0 0 0

Ngày đăng: 27/04/2021, 16:21

TỪ KHÓA LIÊN QUAN

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

TÀI LIỆU LIÊN QUAN